刚开始使用 javers 代替 envers 并陷入关联(@OneToMany 和 @ManyToOne)。为了防止 javers 扫描和注册所有关联更改,我在所有 @OneToMany 关联上应用了@DiffIgnore,奇怪的是,当我在休眠的 postpersist 事件中获取实体时,@DiffIgnore 注释的属性被忽略,并且在访问这些字段时出现惰性初始化异常。
这是我的示例实体:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "property")
@ShallowReference
private 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 时,它工作正常。困惑这里有什么问题
牧羊人nacy
相关分类