【发布时间】:2014-12-11 10:10:00
【问题描述】:
我的应用程序中有一个 Store/Clerks 类,它们通过“clerks”数据库表中的“storeId”外键关联,并与以下代码中给出的 Hibernate 注释相关:
Store.java:
@Entity
@Audited
@Table(name="stores")
Public Class Store {
private Set<Clerks> clerks;
//....
@OneToMany(fetch = FetchType.LAZY, mappedBy = "store")
public Set<Clerks> getClerks() {
return clerks;
}
}
文员.java:
@Entity
@Audited
@Table(name="clerks")
Public Class Clerk {
private Store store;
//....
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "storeId",referencedColumnName = "storeId")
public Store getStore() {
return store;
}
}
当我插入(持久化)新 Clerk 时,Envers 在两个实体(“stores_aud”和“clerks_aud”)的审计表中创建条目。 但是,当我更新现有的 Clerk 时,它只会在“clerks_aud”表中创建一个条目。
谁能向我解释一下,为什么会这样,以及如何强制 Envers 在这两种情况下(插入和更新)表现相同?
谢谢
【问题讨论】:
标签: java hibernate hibernate-envers