Jpa 为什么不删除分离父对象的延迟加载子对象

Jpa 为什么不删除分离父对象的延迟加载子对象,jpa,Jpa,我怀疑JPA如何处理子对象的延迟初始化。如果我有一个包含一对多的对象a,而对象B是延迟初始化的,我加载对象a而不访问SetB,那么SetB是空的。现在,如果我先分离A,然后再合并A,那么为什么在我的例子中由Hibernate实现的JPA没有删除SetB的记录,因为SetB现在为null?我已将cascade=全部设置为SetB 如果这是一个微不足道的问题,或者我对该主题的理解不清楚,我深表歉意。cascade=还不够。您还需要这样做。所以您的问题是:JPA如何知道您显式地将一对多关系设置为nul

我怀疑JPA如何处理子对象的延迟初始化。如果我有一个包含一对多的对象a,而对象B是延迟初始化的,我加载对象a而不访问SetB,那么SetB是空的。现在,如果我先分离A,然后再合并A,那么为什么在我的例子中由Hibernate实现的JPA没有删除SetB的记录,因为SetB现在为null?我已将cascade=全部设置为SetB


如果这是一个微不足道的问题,或者我对该主题的理解不清楚,我深表歉意。

cascade=还不够。您还需要这样做。

所以您的问题是:JPA如何知道您显式地将一对多关系设置为null,或者它不是null,只是因为它因为延迟初始化而没有初始化?