7

save()在每次调用域类之前,是否有一种好的/标准方法来执行一些通用代码?

例如,我的域

class Page {

    String url
    Boolean processed
    Date date
    Integer urlCrc 
}

我的表单只有 3 个第一个字段,我想在urlCrc每次save()调用该方法时进行计算。我不能只覆盖保存方法,因为它是注入的。

4

3 回答 3

17

您可以使用 GORM 事件 - 请参阅文档。因为默认情况下validate()在每次save()我使用它之前都会调用它。

class Page {
    //your defs here

    def beforeValidate() {
        this.urlCrc = yourComputationHere
    }
}
于 2012-06-03T20:35:53.090 回答
2
class Page {
    def beforeInsert() {
        this.beforeUpdate()
    }
    def beforeUpdate() {
        this.urlCrc = 'calculate something'
    }
}
于 2014-11-03T10:20:01.213 回答
1

GORM 文档中涵盖了该主题:

6.5 高级 GORM 特性

6.5.1 事件和自动时间戳

于 2015-03-23T18:18:29.103 回答