Hibernate all-delete-orphan用于有序集合

时间:2012-09-26 07:11:55

标签: java hibernate linkedhashset all-delete-orphan

我有像

这样的关系
<set name="someBeans" table="sometable" cascade="all, delete-orphan" inverse="true" lazy="true">
        <key column="some_id" />
        <one-to-many class="someBean" />
    </set>

在我的Java代码中有一个对此执行的集合,就像

myClass.setSomeBeans(SomeBeans); 

现在这个SomeBeans是一个linkedHashmap,因此维护了顺序,但是由于在级联中使用了所有删除孤立,我在特定情况下获得异常:

HibernateException – A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance

所以我将上面的java实现更改为

myClass.getSomeBeans().clear();
myClass.getSomeBeans().addAll(SomeBeans)

但是这样做我无法维持来自linkedHashMap SomeBeans的订单。

有没有人遇到过这样的问题,这方面的任何帮助都会受到关注

此致

Vaibhav的

1 个答案:

答案 0 :(得分:0)

只是为了完成我想要创建的虚拟对象,从hibernate对象复制了属性并对其进行了排序,并对其进行了保留,并且所有删除​​孤立相关的问题也得到了解决。