0

我有这样的关系

<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,所以订单得到了维护,但是由于在级联中使用了所有 Delete Orphan,我在特定场景中遇到了异常:

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 的订单。

有没有人也遇到过这样的问题,在这方面的任何帮助都将不胜感激

问候,

瓦布哈夫

4

1 回答 1

0

只是为了完成我想要的,我创建了一个虚拟对象,复制了休眠对象的属性并对其应用了排序,它得到了保留,并且所有与删除孤儿相关的问题也得到了处理。

于 2012-09-27T05:01:37.437 回答