A different object with the same identifier value was already associated with the session
2014-11-25 13:56
507 查看
hibernate在调用session.update()方法的时候抛出异常:
A different object with the same identifier value was already associated with the session
这个异常的意思是:具有相同的标识符但是值不相同的对象已经和session相关联起来了。
产生这个问题的原因大家都知道,因为在hibernate中同一个session里面有了两个相同标识但是是不同实体,一般出现在两个对象具有一对多或者多对多的更新操作中,使用get方法获取要更新的对象的时候,因为配置了关联关系,会把关联的对象一起加载到session之中,这时当在外部新建了该关联的对象,然后调用set方法赋值,当这时运行update(object)或者SaveOrUpdate(object)方法的时候,提交事务就会报这个错误,但是怎么解决呢?下面是我的解决方案:
在更新操作的前面加一句object = session.merge(object)。
该方法的作用可以理解为是将session之中同类型的OID相同的持久化对象合并成一个。
A different object with the same identifier value was already associated with the session
这个异常的意思是:具有相同的标识符但是值不相同的对象已经和session相关联起来了。
产生这个问题的原因大家都知道,因为在hibernate中同一个session里面有了两个相同标识但是是不同实体,一般出现在两个对象具有一对多或者多对多的更新操作中,使用get方法获取要更新的对象的时候,因为配置了关联关系,会把关联的对象一起加载到session之中,这时当在外部新建了该关联的对象,然后调用set方法赋值,当这时运行update(object)或者SaveOrUpdate(object)方法的时候,提交事务就会报这个错误,但是怎么解决呢?下面是我的解决方案:
在更新操作的前面加一句object = session.merge(object)。
该方法的作用可以理解为是将session之中同类型的OID相同的持久化对象合并成一个。
相关文章推荐
- 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
- HibernateSystemException: 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错误
- Nhibernate 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 深入分析
- Hibernate Exception: 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错误
- 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错误解决方法