可以在整个父/子表层次结构中进行审核更改吗?

时间:2019-02-20 02:01:36

标签: hibernate annotations many-to-many one-to-many hibernate-envers

我看到这个问题可以通过其他形式问到,该问题可以追溯到2012年,但现在是2019年,我也遇到了同样的问题。有人知道了吗?!?!?

我要从此处重新发布此问题:envers multi level entity revision howto

用户有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的德语注释)。

有人解决了吗?

0 个答案:

没有答案