ユーザーは 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
ありがとう