刚开始使用 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
添加回答
举报
0/150
提交
取消