Java @DiffIgnore和@shallWreference导致回调中的奇怪行为

Java @DiffIgnore和@shallWreference导致回调中的奇怪行为,java,hibernate,spring-boot,jpa,javers,Java,Hibernate,Spring Boot,Jpa,Javers,刚开始用javers代替envers,并陷入联想(@OneToMany和@ManyToOne)。 为了防止javers扫描和注册所有关联更改,我在所有@OneToMany关联上应用了@DiffIgnore,奇怪的是,当我在hibernate的postpersist事件中获取实体时,@DiffIgnore注释属性被忽略,并且在访问这些字段时,我得到了lazy init异常 以下是我的示例实体: @OneToMany(fetch = FetchType.LAZY, mappedBy = "prope

刚开始用javers代替envers,并陷入联想(@OneToMany和@ManyToOne)。 为了防止javers扫描和注册所有关联更改,我在所有@OneToMany关联上应用了@DiffIgnore,奇怪的是,当我在hibernate的postpersist事件中获取实体时,@DiffIgnore注释属性被忽略,并且在访问这些字段时,我得到了lazy init异常

以下是我的示例实体:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "property")
@ShallowReference
private List<PropertyImage> propertyImages = new ArrayList<>();
我还尝试了@ShallowReference注释,但它再次获取所有相关实体,并导致性能问题


但是当我改变@FetchType.EAGER时,它工作得很好。混淆了这里的问题是什么

ShallowReference不适用于列表,我们有一个开放的问题,请参见

自Javers 5.3.0以来,@ShallowReference适用于集合和地图。
 @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;