Java Hibernate envers:RelationTargetAuditMode.NOT_AUDITED vs@NotAudited
我试图审核一个实体,但我不想审核它的关系。如果我将@Audited(targetAuditMode=RelationTargetAuditMode.NOT_Audited)放在@ManyTone关系中,这是有效的,我没有任何异常,但是当我尝试在@onetomany中使用定义了参数mappedby的同一注释时,我有一个异常,表明我必须审核其他实体 例如:Java Hibernate envers:RelationTargetAuditMode.NOT_AUDITED vs@NotAudited,java,hibernate,audit,hibernate-envers,Java,Hibernate,Audit,Hibernate Envers,我试图审核一个实体,但我不想审核它的关系。如果我将@Audited(targetAuditMode=RelationTargetAuditMode.NOT_Audited)放在@ManyTone关系中,这是有效的,我没有任何异常,但是当我尝试在@onetomany中使用定义了参数mappedby的同一注释时,我有一个异常,表明我必须审核其他实体 例如: @Table(name = "OWNERS") @Entity @EntityListeners(AuditingEntityListener.
@Table(name = "OWNERS")
@Entity
@EntityListeners(AuditingEntityListener.class)
@Audited
public class Owner {
...
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
@ManyToOne(fetch=FetchType.LAZY)
private User user;
...
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
@OneToMany(cascade = CascadeType.ALL, mappedBy = "owner" )
private Set<Pet> pets = new HashSet<Pet>();
...
}
@Table(name=“OWNERS”)
@实体
@EntityListeners(AuditingEntityListener.class)
@审计
公共类所有者{
...
@已审核(targetAuditMode=关系targetAuditMode.未审核)
@manytone(fetch=FetchType.LAZY)
私人用户;
...
@已审核(targetAuditMode=关系targetAuditMode.未审核)
@OneToMany(cascade=CascadeType.ALL,mappedBy=“owner”)
private Set pets=new HashSet();
...
}
嗯,我认为您有两个选择:
Pet
(如适用)@NotAudited
代替@Audited(targetAuditMode=RelationTargetAuditMode.NOT\u Audited)
。想想看,Owner
的审核表不必持久化与Pet
相关的。如果是,请使用选项1