可能的重复:
Hibernate:具有相同标识符值的不同对象已与会话关联 https://stackoverflow.com/questions/3553200/hibernate-different-object-with-the-same-identifier-value-was-already-associate
我遇到了几乎同样的问题user https://stackoverflow.com/questions/1074081/hibernate-error-org-hibernate-nonuniqueobjectexception-a-different-object-with.
在我的情况下,我从数据库加载一个实体,将该实体转换为 DataTransferObject,然后我想编辑一个属性,之后将其转换回实体对象,然后更新该实体,hibernate 会抛出以下错误:
Hibernate Error: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session
显然,问题是我从数据库检索的对象与我想要更新的对象具有相同的 id(就像应该的那样),但这些不是相同的对象!
如何管理呢?
谢谢你的帮助...
您的问题是您之前加载的对象仍然存在于休眠会话中。我认为有两种方法可以解决这个问题。
1.) 告诉 hibernate 会话将修改后的对象与会话中的对象合并
session.merge(object)
2.) 在将更新的对象写入会话之前,将旧对象踢出会话。 session.clear() 可能有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)