Hibernate envers触发外键属性的选择

问题描述

所以我的实体有多个@ManyToOne外键:

@Entity
public class MyEntity {
 
    @Id
    @GeneratedValue(strategy = IDENTITY)
    private Long id;

    @ManyToOne(fetch = LAZY)
    private FK1 fk1;

    @ManyToOne(fetch = LAZY)
    private FK2 fk2;

    @ManyToOne(fetch = LAZY)
    private FK3 fk3;
}

持久化时,我分别使用实体代理(entityManager.getReference())初始化fk1,fk2和fk3,结果只有INSERT被触发,每个FK都不触发SELECT。

但是,当我启用该实体的审核时,Hibernate Envers似乎在将其插入AUDIT表时触发了3个SELECT,每个FK都选择一个

@Entity
@Audited(targetAuditMode = NOT_AUDITED)
public class MyEntity {
...

如何防止这种情况发生?有没有办法告诉Envers用实体代理初始化FK?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)