Stavo scorrendo parte della documentazione di Grails e ho trovato this bit sul metodo read()
in Grails. Se sto capendo correttamente questo, è possibile estrarre una versione "di sola lettura" di un oggetto dal database che verrà salvato solo su una chiamata esplicita save()
. Mi sembra quindi che dovresti usare una chiamata read()
ogni volta che hai un oggetto che non ti aspetti di cambiare.Vantaggi di object.get() vs object.read() in Grails
Ma perché non dovresti usare sempre una chiamata read()
? Dal momento che l'oggetto verrà modificato in permessi di lettura/scrittura se si utilizza lo strumento save()
, non sarebbe più sicuro leggere semplicemente l'oggetto anziché ottenerlo?
Quindi se si legge() e si oppone e si apporta una modifica alla proprietà e l'intera sessione viene scaricata, quell'oggetto non verrà propagato al database corretto? L'oggetto verrebbe scaricato solo quando si chiama esplicitamente save() su quell'istanza. È corretto? – Viriato
Corretto: in pratica disabilita il flush automatico, ma non disabilita il flush esplicito –