您的位置:首页 > 移动开发 > Objective-C

org.springframework.dao.DuplicateKeyException: a different object with the same identifier value was

2017-09-15 23:28 603 查看
在使用hibernate框架里面的:saveOrUpdate报错:



意思就是另一个对象的id(id同值)已经被session关联了。

原因分析:



在第1步中中通过titleList.get(0)获取一个对象duty1,在第2步中将duty的dutyId设置成duty1的dutyId,而duty1本来就是存在一级缓存session里面的,在第3步时saveOrUpdate(duty)相当于内存中存在两个dutyId一样的对象,因此抛出异常。

解决方法:

如果dao或Service类继承了HibernateDaoSupport,可以调用this.getHibernateTemplate().clear();清除session(的关联)。

如图中的第二步添加了:this.getHibernateTemplate().clear();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐