Обработка `lastUpdated` в домене grails - PullRequest
1 голос
/ 09 ноября 2009

Я хочу использовать поле lastUpdated домена Grails для реализации представления «какие объекты недавно изменились». Однако мой домен имеет ассоциацию has-many, которая при добавлении чего-либо приведет к обновлению значения lastUpdated.

например:.

class Author {
    string name
    Date lastUpdated
    static hasMany = [ books : Book ]
}

При добавлении новой книги (author.addToBooks (newBook)) будет обновлено lastUpdated.

Вопросы:

  1. Почему lastUpdated не обновляется при удалении книги?
  2. Есть ли способ предотвратить изменение lastUpdated при добавлении книги в список? (Допустим, новая книга не считается изменением автора в моей модели предметной области)

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 ноября 2009

Чтобы получить более точный контроль над изменениями даты, вы можете добавить событие «beforeUpdate» в свой класс домена (см. Grails.org/GORM+-+Events). Похоже, это предполагаемое поведение: http://jira.codehaus.org/browse/GRAILS-1857

0 голосов
/ 10 ноября 2009

Номер 1 звучит как ошибка (если она обновляется при добавлении книги, она должна быть согласованной и обновлять ее при удалении).

Номер 2 - вместо использования addToBooks вы пробовали новую книгу (автор: a) .save ()? Возможно, вам придется обновить автора, если вам нужно перечислить их книги в том же действии, но это должно остановить обновление обновления на автора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...