前言
出现这个问题一定是数据库的问题了
报错英文different object with the same identifier value was already associated with the session
翻译是,具有相同标识符值的不同对象已与会话关联
当然这样说有点难以理解,简单来说就是在一个session回话里,你要操作的对象已经和session关联上了,如果你在操作该对象之后又搞了一次就不行啦,我说的操作是save或者update
情况描述
由于我用hibernateTemplate在保存之前想查一下该对象存在不,
If 存在
Update
Else
Save
但是这样就报错了,网上查了一下,原来hibernateTemplate.merge(object);这个函数可以在数据库有的时候更新,数据中没有就save.很是方便
解决办法
hibernateTemplate.merge(object)
如果用的session就session.merge(object)
如果这个办法不好用,就在搜搜,网上给出的方法挺多
本文探讨了在使用Hibernate框架时遇到的“不同对象具有相同标识符值已与会话关联”的错误。详细介绍了错误产生的原因,即在同一个session内尝试多次操作(如save或update)同一对象导致的问题。并提供了两种解决方案:使用`hibernateTemplate.merge(object)`或`session.merge(object)`来智能地处理对象的存在状态,避免手动检查和操作带来的复杂性和错误。
8042

被折叠的 条评论
为什么被折叠?



