save()在每次调用域类之前,是否有一种好的/标准方法来执行一些通用代码?
例如,我的域
class Page {
String url
Boolean processed
Date date
Integer urlCrc
}
我的表单只有 3 个第一个字段,我想在urlCrc每次save()调用该方法时进行计算。我不能只覆盖保存方法,因为它是注入的。
save()在每次调用域类之前,是否有一种好的/标准方法来执行一些通用代码?
例如,我的域
class Page {
String url
Boolean processed
Date date
Integer urlCrc
}
我的表单只有 3 个第一个字段,我想在urlCrc每次save()调用该方法时进行计算。我不能只覆盖保存方法,因为它是注入的。
您可以使用 GORM 事件 - 请参阅文档。因为默认情况下validate()在每次save()我使用它之前都会调用它。
class Page {
//your defs here
def beforeValidate() {
this.urlCrc = yourComputationHere
}
}
class Page {
def beforeInsert() {
this.beforeUpdate()
}
def beforeUpdate() {
this.urlCrc = 'calculate something'
}
}