我的关系是这样的
<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的订单。
有没有人也遇到过这样的问题,在这方面的任何帮助都是值得的。
致以敬意,
瓦伊巴夫
发布于 2012-09-27 13:01:37
为了完成我想做的事情,我创建了一个虚拟对象,复制了hibernate对象的属性,并对其应用了排序,它得到了保留,所有与删除孤立对象相关的问题也都得到了处理。
https://stackoverflow.com/questions/12596415
复制相似问题