Grails. Po wywołaniu save identyfikator jest zerowy
Szukałem już o tym, ale wciąż nie mogę zrozumieć, co robię źle. Po wywołaniusave()
obiekt domenyid
jestnull
.
Przeczytałem, że stanie się, gdy wystąpi problem podczas zapisywania obiektu i tak dalejsave(flush:true)
powinien wrzucić błąd, jeśli tak jest, ale tak nie jest. Spójrz na mój kod i wynik:
def pic = new Picture(title:'XX', path:"XXX")
album.addToPictures(pic).save()
if(pic.validate())
println "no errors. New id: " + pic.id
else
println "with errors"
Wydajność:
no errors. New id: null
A kiedy używasz flush: true
def pic = new Picture(title:'XX', path:"XXX")
album.addToPictures(pic).save(flush:true)
if(pic.validate())
println "no errors. New id: " + pic.id
else
println "with errors"
Wydajność:
no errors. New id: 17
Jak widać, nie ma żadnych błędów podczas tworzenia obiektu i powinienem być w stanie uzyskaćid
obiektu po wywołaniusave()
. Jakieś pomysły?
Dzięki