是否可以使用Envers为具有公共映射基类的不同具体派生类设置不同的审计模式?

时间:2014-05-09 14:00:23

标签: java hibernate jpa hibernate-envers

我有两个具有相同字段的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 {
}

1 个答案:

答案 0 :(得分:0)

targetAuditMode仅应用于关系字段。如果您不希望审核实体,只需删除注释即可。