【问题标题】:Hibernate - setting null on the associated collectionHibernate - 在关联的集合上设置 null
【发布时间】:2013-09-22 04:19:01
【问题描述】:

我正在尝试通过在集合上设置 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

上述将集合设置为 null 的调用不会删除 B 中的条目。这与 inverse = true 有什么关系。 以这种方式删除子实体是否违法?

【问题讨论】:

    标签: java hibernate


    【解决方案1】:

    a.getB().clear(); 呢?

    【讨论】:

    • 如果级联设置为删除孤儿,这将起作用。但我想知道是否可以通过设置为null来删除。
    • 这是一个反问——你应该使用clear()。请参阅stackoverflow.com/questions/14686595/… 接受的答案,我无法更好地解释它。
    猜你喜欢
    • 2011-12-22
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2014-08-26
    • 2016-07-11
    • 1970-01-01
    相关资源
    最近更新 更多