Esiste un metodo valido/standard per eseguire codice comune prima di ogni chiamata save()
nelle classi di dominio?Grails: come eseguire il codice prima di ogni salvataggio?
Per esempio, il mio dominio
class Page {
String url
Boolean processed
Date date
Integer urlCrc
}
La mia forma ha solo 3 primi campi e vorrei calcolare urlCrc
ogni volta che il metodo viene chiamato save()
. Non riesco solo a sovrascrivere il metodo di salvataggio perché è stato iniettato.
Grazie, funziona. Purtroppo grails.org non funziona, a causa di alcuni problemi di routing http://grails.1312388.n4.nabble.com/Is-the-plugin-repository-down-td4628824i40.html quindi avevo bisogno di chiedere qui – mrok
Quanto sopra la soluzione è probabilmente la migliore, ma un'altra opzione consiste nell'utilizzare un campo calcolato per i graal. Vedi i documenti per quello. –
Se si desidera eseguire il codice prima del salvataggio, usare 'beforeUpdate()/beforeInsert()'. se usi 'beforeValidate()' che viene chiamato sempre quando chiami 'validate()' (metodo 'save()' chiama 'validate()' prima di salvare). Quindi il tuo codice è eseguito prima di convalidarlo anche se non lo salvi. – IgniteCoders