我有两个具有相同字段的JPA实体,我想将它们存储在不同的表中。因此,我将它们基于抽象的通用映射基类,以避免代码加倍。现在,我希望对其中一张表进行审核,而对另一张表进行审核。但是,当我将一个类设置为Audited时,Envers会为两个派生类创建一个_AUD表。
即使将另一个派生类设置为审核模式NotAudited,也会创建其审核表。
是否可以按照说明进行配置?
我的(简化)课程:
@MappedBaseClass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class AbstractPrice {
// some fields and some methods
}
@Entity
@Audited(targetAuditMode=RelationTargetAuditMode.AUDITED)
public class Price extends AbstractPrice {
}
@Entity
@Audited(targetAuditMode=RelationTargetAuditMode.NOT_AUDITED)
public class OriginalPrice extends AbstractPrice {
}
最佳答案
targetAuditMode
应该仅用于作为关系的字段。如果您不希望对实体进行审核,只需删除注释即可。