层叠删除后,Hibernate Event Listener会调用update

时间:2019-07-11 14:54:48

标签: hibernate

我正在研究一些使用休眠PostxxxEventListeners的代码。它使用Spring PublisherHandler来管理事件。

大多数情况下,这按预期工作,但是我有一个对象具有一对一的级联(渴望)连接。所以在“人”表中,我有...

@OneToOne(cascade={CascadeType.ALL}, fetch=FetchType.EAGER) 
@JoinColumn(name="`address_id`")
private Address address_id;

我的问题是,当我删除一个Person记录时,我在Person表上得到一个PostUpdateEventListener事件,在该事件中地址被删除,并且在删除下一个实例之前,Person表被更新为空值(触发所需的PostDeleteEventListener)

我仍在对此进行调查,怀疑我需要更改JPA或某些下游代码,但我想知道这是否是一个常见问题,有人可以指出最佳解决方案吗?我可以先强制删除父对象,以免得到更新吗?

我删除了Eager,但没有帮助。我已经注意到该类具有@Inheritance注释,并且具有JOINED策略。

谢谢

0 个答案:

没有答案