Grails で hibernate envers を使用し、@Audited でいくつかのエンティティを定義して、API によって監査できるようにしています。一部のエンティティは監査する必要がないため、スムーズに実行される @Audited(... NOT_AUDITED) を定義しています。
しかし、今回は、次のように定義された関係があります
static hasMany = { foos : Foo }
Foo もクラス レベルで NOT_Audited として宣言されていますが、envers はこれを無視して AUDIT テーブルを検索しています。ただし、タイプが監査されるべきではないことを envers に通知するために、アノテーション @NotAudited を関係に追加する必要があるかもしれないことがわかりました。
だから、私は試しました:
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 }
コンパイルエラーが発生します。だから、おそらく私の問題は、関係に注釈を追加する方法です。