`
ruvuoai
  • 浏览: 96888 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

a different object with the same identifier value

阅读更多
今天在作excel导入的时候碰到的问题,
excel里面的记录往数据库录入的过程中,如果存在就update,不存在就save于是在操作数据库前分别将2个不同性质的bean放到saveList和updateList依次调用
saveOrUpdateByList(List list)方法
public synchronized int saveOrUpdateByList(List listObj){
		int count = 0;
		Session session = null;
		try {
			if(listObj != null && !listObj.isEmpty()){
				session = getSession();
				for(int i = 1;i<=listObj.size();i++){
					session.saveOrUpdate(listObj.get(i-1));					count++;
					if(i%20 == 0){
						session.flush();
						session.clear();
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(session != null){
				session.flush();
				session.clear();
				releaseSession(session);
			}
		}
		return count;
	}

老是报错a different object with the same identifier value was already associated with the session
查了下网站,说用merge()方法,就把方法中的
session.saveOrUpdate(listObj.get(i-1));

改成
session.saveOrUpdate(session.merge(listObj.get(i-1)));

就好了,
解决总归解决,本来想上eye论坛探讨下问题出现的原因以及这样解决的办法,不过弱弱的理论还是让我放弃了,怕跟不散大家的思路呀...
分享到:
评论

相关推荐

    hibernate常见异常

    a different object with the same identifier value was already associated with the session 是一种常见的异常,通常是由于在 Hibernate 中同一个 session 里面有了两个相同标识但是是不同实体所致。解决方案有...

    hibernate常见问题及处理.doc

    5. `a different object with the same identifier value was already associated with the session` 这个异常表明在同一个Hibernate Session中存在两个具有相同标识但实际是不同对象的情况。处理方法有: - 使用`...

    计算机网络第六版答案

    In these systems, packets are transmitted over the same wireless infrastructure used for cellular telephony, with the base station thus being managed by a telecommunications provider. This provides ...

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    - FIX: The value of some string flex-properties that began with a parenthese or curly bracket had no apostrophe at the end; that caused an error when reading. (fixed TPropList.SavePropValue for the ...

    微软内部资料-SQL性能优化5

    Each index row in node pages contains an index key (or set of keys for a composite index) and a pointer to a page at the next level for which the first key value is the same as the key value in the ...

    微软内部资料-SQL性能优化3

    Another type of table lock is a schema stability lock (Sch-S) and is compatible with all table locks except the schema modification lock (Sch-M). The schema modification lock (Sch-M) is incompatible ...

    VclZip pro v3.10.1

    This was due to a problem where it would be freed automatically if there was a problem with the ArchiveStream when trying to open it as a zip file (possibly corrupt). Best practice is that ...

    hibernate常见错误解决方案

    **Different Object with Same Identifier Value** **异常描述:** 此异常表示同一个Session中存在具有相同标识符的不同对象实例。 **解决方法:** - 使用`session.clear()`清除Session缓存。 - 调用`session....

Global site tag (gtag.js) - Google Analytics