java JBoss Envers多通审计
假设场景:我有两个模型:Author
和Book
。Book
模型对Author
具有多对一关系
假设我只想审核Book
的更改。我用@Audited
注释了这个类,但得到一个错误,抱怨Book
的getAuthor()
属性无法审核,因为Author
没有审核
这是为什么?我想审核这本书的作者是否改变,但我不在乎作者的昵称是否改变。在我的数据库中有一个author_aud
表是没有意义的,但显然这是不可能的,除非我继续审计Author
模型,或者用一个@Audited(...)
属性专门注释getAuthor()
属性,以忽略关系。然而,如果我这样做,我将无法再审核图书/作者关系
# 1 楼答案
如果作者未经审核,您可能无法审核该书及其作者关系。 也许你应该改变这种关系的映射方式:有一本书“拥有”它的作者是很奇怪的:我会做一个从作者到书的单向多人关系。有了这个概念,你就可以在不审核作者的情况下审核书籍