Java Hibernate-在关联集合上设置null

Java Hibernate-在关联集合上设置null,java,hibernate,Java,Hibernate,我试图通过在集合上设置null来删除父实体集合中的所有引用实体 例如: A是与B类有一对多关系的父类 Class A { private Set<B> setB = new HashSet<B>(); } The mapping is as follows : <set name="setB " table="B" cascade="save-update" inverse="true"> <key column="FKey"></

我试图通过在集合上设置null来删除父实体集合中的所有引用实体

例如:

A是与B类有一对多关系的父类

Class A {
private Set<B> setB = new HashSet<B>();
}

The mapping is as follows :
<set name="setB " table="B" cascade="save-update" inverse="true">
    <key column="FKey"></key>
    <one-to-many class="B" />
</set>

a.setB(null);//a is persistent instance of A
A类{
私有集setB=newhashset();
}
映射如下:
a、 setB(空)//是的持久实例
上面将集合设置为null的调用并没有删除B中的条目。这与inverse=true有关。
这样删除子实体是非法的吗?

那么
a.getB().clear()呢

如果将cascade设置为删除孤立项,则此操作将起作用。但我想知道是否可以通过设置为null来删除。这是一个反驳性的问题-您应该使用
clear()
。从我的回答来看,我无法更好地解释它。