在grails域中处理`lastUpdated`

时间:2009-11-09 17:06:10

标签: grails

我想使用Grails域的lastUpdated字段来实现“最近更改过的对象”视图。但是,我的域名具有多个关联,当添加某些内容时,会导致lastUpdated值更新。

E.g:

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

添加新书(author.addToBooks(newBook))将更新lastUpdated

问题:

  1. 为什么在删除图书时lastUpdated未更新?
  2. 当书籍被添加到列表中时,有没有办法阻止lastUpdated被更改? (假设一本新书不算作我域模型中作者的更改)
  3. 谢谢!

2 个答案:

答案 0 :(得分:0)

1号听起来像一个错误(如果它在你添加一本书时更新它应该是一致的,并在删除它时更新它。)

2号 - 您是否尝试过新书(作者:a).save()而不是使用addToBooks?如果您需要在相同的操作中列出他们的书籍,则可能必须刷新作者,但它应该停止对作者进行更新

答案 1 :(得分:0)

要对日期更改进行更精细的控制,可以在域类中添加“beforeUpdate”事件(请参阅grails.org/GORM+-+Events)。看起来这是预期的行为:http://jira.codehaus.org/browse/GRAILS-1857