用户有 n 个联系人。一个联系人可以有一个本地化的评论(评论在联系人之间共享)。Java Bean:
@Audited
@Entity
public class User {
@OneToMany(fetch = FetchType.EAGER,
cascade = CascadeType.ALL,
orphanRemoval = true)
Set<Context> contacts;
}
@Audited
@Entity
public class Contact {
@ManyToOne(fetch = FetchType.EAGER,
cascade = {
CascadeType.MERGE,
CascadeType.PERSIST,
CascadeType.REFRESH})
Comment comment;
}
@Audited
@Entity
public class Comment {
String de;
String en;
String fr;
}
如果我更改联系人 (Contact.comment) 的德语本地化 (Comment.de),那么这将创建一个新修订版,但不会针对用户。如果我向 envers 询问用户修订,我将永远不会看到这个“2 级更改”,因为用户和联系人之间的关系没有改变,只有联系人评论中的德语字符串发生了变化。
但我想在用户历史记录中看到一个新条目(更改了联系人 XYZ 的德语评论)。
我怎样才能做到这一点?:D
谢谢