hibernate异常:a different object with the same identifier value was already associated
2016-07-05 14:58
549 查看
a different object with the same identifier value was already associated with
最近在工作中遇到这样一个异常,异常的原因很容易找到,就是看怎么去解决这个异常了 。
原因:正常情况一般调用hiberate端方法进行数据库操作时,是直接调用
getHibernateTemplate().update(user);,但在hibernate中同一个session里面有了两个相同标识但是是 不同实体时就会出现如标题的错误,
自己尝试用了网上搜索到的好多方法都不能解决。最后自己找到了两种解决方案:cleaning cloth
我用的是hibernate3.0。
方案一:在写完要一个完整的操作之后,比如,delete操作,调用this.getHibernateTemplate().evict(object),这样就可以把多余的对象给清除掉了。然后再执行需要的操作,如saveOrUpdate。
方案二:同样是在一个完整的操作之后,比如,delete操作,然后同时调用
this.getHibernateTemplate().flush();this.getHibernateTemplate().clear(); 来强迫执行,然后再执行需要的操作,如saveOrUpdate。(注意,这种方法要同时执行这两个方法,单独执行一个都无法达到预期目的)。toothpaste
网上搜到的用clear()方法,merge()方法,或者refresh()方法,在我这里尝试了一下都不行。
这是自己在工作中发现并解决的问题,希望大家多给点指点
转载地址: http://blog.sina.com.cn/s/blog_4b5bc01101016nii.html
最近在工作中遇到这样一个异常,异常的原因很容易找到,就是看怎么去解决这个异常了 。
原因:正常情况一般调用hiberate端方法进行数据库操作时,是直接调用
getHibernateTemplate().update(user);,但在hibernate中同一个session里面有了两个相同标识但是是 不同实体时就会出现如标题的错误,
自己尝试用了网上搜索到的好多方法都不能解决。最后自己找到了两种解决方案:cleaning cloth
我用的是hibernate3.0。
方案一:在写完要一个完整的操作之后,比如,delete操作,调用this.getHibernateTemplate().evict(object),这样就可以把多余的对象给清除掉了。然后再执行需要的操作,如saveOrUpdate。
方案二:同样是在一个完整的操作之后,比如,delete操作,然后同时调用
this.getHibernateTemplate().flush();this.getHibernateTemplate().clear(); 来强迫执行,然后再执行需要的操作,如saveOrUpdate。(注意,这种方法要同时执行这两个方法,单独执行一个都无法达到预期目的)。toothpaste
网上搜到的用clear()方法,merge()方法,或者refresh()方法,在我这里尝试了一下都不行。
这是自己在工作中发现并解决的问题,希望大家多给点指点
转载地址: http://blog.sina.com.cn/s/blog_4b5bc01101016nii.html
相关文章推荐
- could not find a getter for ... in class ... 异常的解决
- Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1
- org.hibernate.LazyInitializationException: could not initialize proxy - no Session
- org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine
- 如何自己动手实现 KVO
- [SharePoint]javascript client object model 获取lookup 类型的field的值,包括user类型(单人或者多人)的值。how to get the multiple user type/lookup type field value by Javascript client object model
- jQuery serializeObject 序列化form表单Json对象 jQuery.extend()合并对象
- -[__NSCFArray removeObjectAtIndex:]: mutating meth
- BING: Binarized Normed Gradients for Objectness Estimation at 300fps
- object wait notify 实例一则
- SQL Abstraction and Object Hydration
- The ServiceClass object does not implement the required method in the following form
- Swift学习之和Objective-C的联系与区别
- mysql到hbase数据迁移之getobject
- jni object的使用
- 利用ObjectAnimator实现ArcMenu
- Objective-C面向对象初步归纳
- objective-c 编程基础(三 面向对象编程)
- Swift Any & AnyObject
- objective-c 编程基础(二)