在Grails中有类似onLoad()的域类吗?

lar*_*hao 2 grails grails-orm

伙计们,

我有以下域类:

class Product { 
    String name, 
    String productRecord,

    static transients = ['productRecord']
}
Run Code Online (Sandbox Code Playgroud)

productRecord是一个根据Product实例的id自动生成的字段.

所以我一直在想,是否有一个地方会在加载域实例时自动调用以生成productRecord数字?

最好的方法是什么?

Rob*_*ska 7

您可以利用内置的域事件:

GORM支持将事件注册为在发生某些事件(例如删除,插入和更新)时被触发的方法.以下是支持的事件列表:

  • beforeInsert - 在对象最初持久化到数据库之前执行
  • beforeUpdate - 在更新对象之前执行
  • beforeDelete - 在删除对象之前执行
  • beforeValidate - 在验证对象之前执行
  • afterInsert - 将对象持久保存到数据库后执行
  • afterUpdate - 在更新对象后执行
  • afterDelete - 删除对象后执行
  • onLoad - 从数据库加载对象时执行

查看一些示例的文档.