JBoss Envers ManyToOne审计

时间:2011-06-12 21:36:35

标签: java jboss audit many-to-one

假设情景:我有两个模型:AuthorBookBook模型与Author具有多对一关系。

假设我只想审核Book的更改。我使用@Audited对该类进行了注释,但是由于getAuthor()未被审核而无法审核Book Author属性,因此会收到错误。

这是为什么?我想审核一下这本书的作者是否有所改变,但我不在乎作者的昵称是否有所改变。在我的数据库中有一个author_aud表是没有意义的,但显然这是不可能的,除非我继续审核Author模型或专门注释getAuthor()属性@Audited(...)具有忽略关系的属性。但是,如果我这样做,我将无法再审核书籍/作者关系。

2 个答案:

答案 0 :(得分:1)

将此映射添加到ManyToOne关系。

@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)

答案 1 :(得分:0)

如果作者未经过审核,您可能无法审核该书及其作者关系。 也许你应该改变关系的映射方式:让一本书“拥有”是作者的奇怪之处:我会做一个从作者到书籍的单向多关系。通过这个概念,您将能够在不审核作者的情况下审核书籍。