GORM,Envers和@NotAudited关系或向hasMany-relation添加注释

时间:2013-08-21 09:52:04

标签: grails gorm

我正在使用带有Grails的hibernate envers,使用@Audited定义一些实体,让它们由API审核。一些实体不应该被审计,所以我定义@Audited(... NOT_AUDITED),它也能顺利运行。

但是这一次,我有一个关系定义

static hasMany = { foos : Foo }

Foo在类级别也被声明为NOT_Audited,但是envers忽略了这一点并搜索了一个AUDIT表。但是,我已经看到可能需要将注释@NotAudited添加到关系中,以通知envers不应该审计该类型。

所以,我试过了:

static hasMany = {@NotAudited foos : Foo }

// Or desperately:
@NotAudited
static hasMany = { foos : Foo }

似乎我的方法是假的,或者GORM忽略了注释。

有没有人有经验,在课堂上定义“Not_Audited”是不够的,如

@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
class Foo{
   ...
}
@Audited
class Bar{
   static hasMany = { foos : Foo }
   ...
}
编辑:也许很高兴提到这一点      static hasMany = {@ NotAudited foos:Foo}

遇到编译错误。所以,也许我的问题就是如何在关系中添加注释。

1 个答案:

答案 0 :(得分:3)

我不知道你是否找到了答案,但你需要重载吸气剂,并在其上加注释:

@NotAudited
def getFoos() {foos}

至少,它适用于直接联想......