do we have beforeUpdateOf* (where * is some field?)
and another question :
def beforeUpdate= { log.info("in beforeUpdate " +this.status) }
def afterUpdate = { log.info("in afterUpdate " +this.status) }
This both gives same status. Although actually status of object(this) is updated from x to y
There's no event for when a property is changed, but you could add in an explicit setter that does something:
You're seeing the same value in
beforeUpdate
andafterUpdate
because those callbacks are for when Hibernate saves the changed values to the database. It would be unusual for the value to change between the time that Hibernate starts and finishes the update.If you're looking for the original value from the database, it's available using http://grails.org/doc/latest/ref/Domain%20Classes/getPersistentValue.html
You may want to have a look at grails audit plugins: Audit Logging and Audit Trail