a different object with the same identifier value was already associated with the session
2008-12-23 09:32
627 查看
这个问题出现的一对多或多对多中, 把多对多的一边或者一对多的多方的cascade设为none就可以了(两边都设为save-update就会出现这个问题)。
我猜想是由于循环的update导致一个Session内有相同的id。
有熟悉Hibernate源码的吗?这应该是Hibernate的一个Bug
这是我以前的解决办法,有时管用,有时不管用。
此情况多出现在hibernate一对多,多对多映射中,若多对一的一方把多方的lazy设置成TRUE,在更改多方某条记录时,若不改变一方的id直接修改多方的某条记录,就回出现此错误。
如:
<set name="appFiles"
table="applicationinfo"
inverse="false"
cascade="all"
lazy="true">
<key column="ApplicationTypeId"></key>
<one-to-many class="pojo.AppFile"/>
</set>
<many-to-one name="typeInfo"
class="pojo.AppTypeInfo"
cascade="all"
lazy="false"
>
<column name="ApplicationTypeId"></column>
</many-to-one>
我猜想是由于循环的update导致一个Session内有相同的id。
有熟悉Hibernate源码的吗?这应该是Hibernate的一个Bug
这是我以前的解决办法,有时管用,有时不管用。
此情况多出现在hibernate一对多,多对多映射中,若多对一的一方把多方的lazy设置成TRUE,在更改多方某条记录时,若不改变一方的id直接修改多方的某条记录,就回出现此错误。
如:
<set name="appFiles"
table="applicationinfo"
inverse="false"
cascade="all"
lazy="true">
<key column="ApplicationTypeId"></key>
<one-to-many class="pojo.AppFile"/>
</set>
<many-to-one name="typeInfo"
class="pojo.AppTypeInfo"
cascade="all"
lazy="false"
>
<column name="ApplicationTypeId"></column>
</many-to-one>
相关文章推荐
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session:
- 再次碰到:a different object with the same identifier value was already associated with the session
- 错误:a different object with the same identifier value was already associated with the session
- hibernate a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with thesession
- 错误中学习--a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- hibernate中一种导致a different object with the same identifier value was already associated with the session错误方式及解决方法
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- 解决 a different object with the same identifier value was already associated with the session
- Hibernate:a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session
- a different object with the same identifier value was already associated with the session