向所有GORM对象添加属性和方法

时间:2015-01-30 18:50:26

标签: grails gorm abstract-syntax-tree

我希望能够添加以下属性updatedBy

到我的大多数GORM对象。我正在考虑使用AST转换。类似于此处描述的内容:http://www.zorched.net/tag/grails/

但我需要在gorm hooks beforeUpdate()beforeInsert()上设置此属性,如

def beforeUpdate() {
    updatedBy = springSecurityService.currentUser;
}

这是我在努力的地方。有什么帮助表示赞赏吗?

1 个答案:

答案 0 :(得分:4)

将其封装为由每个域类实现或扩展的特征或抽象类。如果您使用的Groovy版本足以支持特征,那么最好是特质。如果没有,像这样的抽象类

class Audited {
  def springSecurityService
  def updatedBy

  def beforeUpdate() {
    updatedBy = springSecurityService.currentUser
  }
}
相关问题