¿Hay alguna manera buena/estándar de ejecutar algún código común antes de cada invocación de save()
en clases de dominio?Grails: ¿cómo se ejecuta el código antes de cada guardado?
Por ejemplo, mi dominio
class Page {
String url
Boolean processed
Date date
Integer urlCrc
}
Mi forma tiene sólo 3 primeros campos y me gustaría para calcular urlCrc
cada vez que el método se llama save()
. No puedo anular el método de guardar porque está inyectado.
Gracias, funciona. Desafortunadamente grails.org está fuera de servicio, debido a algunos problemas de enrutamiento http://grails.1312388.n4.nabble.com/Is-the-plugin-repository-down-td4628824i40.html así que necesitaba preguntar aquí – mrok
Lo anterior la solución es probablemente la mejor, pero otra opción es usar un campo calculado de Grails. Ver los documentos para eso. –
Si desea ejecutar el código antes del guardado, use 'beforeUpdate()/beforeInsert()'. si usa 'beforeValidate()' que se llama siempre cuando se llama a 'validate()' (método 'save()' call 'validate()' antes de guardar). Entonces su código se ejecuta antes de validar incluso si no guarda. – IgniteCoders