【发布时间】:2010-04-18 08:16:44
【问题描述】:
Collection.clear() 将在 Session 刷新时删除子项。
OneToOne 怎么样?设置为 null 不是正确的方法。不存在 OneToOne 的 clear() 方法。
Table_A 有一个列(不是它的 PK!),OneToOne 引用了 Table_B。
我想知道 Hib 在我的情况下是否按预期工作?
我的级联选项设置为“all,delete-orphan”。
表_A @OneToOne 表_B
表_B @OneToMany 表_C
现在它看起来像 Table_A 。获取表_B。 getTable_C_Collection()
假设 Table_C 集合中有元素。
我对 Hibernate 的期望:如果我将 Table_B 链接设置为 null,那么
必须删除所有 Table_C 集合元素。
它不会发生。他们成为孤儿!
【问题讨论】:
-
您可以发布您的休眠配置(或者如果使用休眠注释,则发布注释)?听起来您可能有配置问题。
-
删除Table_B是否会直接删除Table_C中的成员,还是只有在Table_A中将Table_B链接设置为null时才会出现这个问题?
-
@Jim Hurne 对于您的第二条评论:如果我理解您,那么我的回答是:我不想删除 B 的实例!我想处理A,它是主要对象,它引用了B,所以我只想删除他的B链接并期望Hibernate会做其他事情。