微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hibernate envers触发外键属性的选择

如何解决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 举报,一经查实,本站将立刻删除。