beforeUpdate afterUpdate - PullRequest
       22

beforeUpdate afterUpdate

3 голосов
/ 09 марта 2012

у нас есть beforeUpdateOf * (где * какое-то поле?)

и другой вопрос:

def beforeUpdate = {log.info ("in beforeUpdate" + this).status)}

def afterUpdate = {log.info ("in afterUpdate" + this.status)}

И то, и другое дает одинаковый статус.Хотя на самом деле статус объекта (это) обновляется с х до у

Ответы [ 2 ]

3 голосов
/ 09 марта 2012

Нет события, когда свойство изменяется, но вы можете добавить явный установщик, который что-то делает:

class MyDomainClass {
   String status

   void setStatus(String status) {
      this.status = status
      // do something based on changed value
   }
}

Вы видите то же значение в beforeUpdate и afterUpdate, потому чтоэти обратные вызовы предназначены для случаев, когда Hibernate сохраняет измененные значения в базе данных.Было бы необычно, чтобы значение менялось между временем, когда Hibernate запускает и заканчивает обновление.

Если вы ищете исходное значение из базы данных, оно доступно с использованием http://grails.org/doc/latest/ref/Domain%20Classes/getPersistentValue.html

0 голосов
/ 09 марта 2012

Возможно, вы захотите взглянуть на плагины аудита Grails: Журнал аудита и Журнал аудита

...