为了账号安全,请及时绑定邮箱和手机立即绑定

@DiffIgnore 和 @ShallowReference 在回调中导致奇怪的行为

@DiffIgnore 和 @ShallowReference 在回调中导致奇怪的行为

慕桂英4014372 2022-06-15 17:22:12
刚开始使用 javers 代替 envers 并陷入关联(@OneToMany 和 @ManyToOne)。为了防止 javers 扫描和注册所有关联更改,我在所有 @OneToMany 关联上应用了@DiffIgnore,奇怪的是,当我在休眠的 postpersist 事件中获取实体时,@DiffIgnore 注释的属性被忽略,并且在访问这些字段时出现惰性初始化异常。这是我的示例实体:@OneToMany(fetch = FetchType.LAZY, mappedBy = "property")@ShallowReferenceprivate List<PropertyImage> propertyImages = new ArrayList<>();物业图片 @Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")Long id;@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "property_id", referencedColumnName = "property_id", nullable = false)private Property property;我还尝试了 @ShallowReference 注释,但它再次获取所有关联实体并导致性能问题。但是当我更改@FetchType.EAGER 时,它工作正常。困惑这里有什么问题
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

ShallowReference 不适用于列表,我们对此有未解决的问题,请参阅https://github.com/javers/javers/issues/528


查看完整回答
反对 回复 2022-06-15
  • 1 回答
  • 0 关注
  • 301 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信