前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Illegal attempt to associate a collection with two open sessions

Illegal attempt to associate a collection with two open sessions

作者头像
小柒2012
发布2018-04-13 16:20:59
1.4K0
发布2018-04-13 16:20:59
举报
文章被收录于专栏:IT笔记

错误信息:

代码语言:javascript
复制
org.springframework.orm.hibernate3.HibernateSystemException: Illegal attempt to associate a collection with two open sessions;

网上 说 两个不同的hibernate session都同时引用了同一个collection对象,merge应该根据ID先从数据库里面查询 这条数据 然后更新相应字段,如果是saveOrupdate 直接就保存或者更新了 。 假设有对象person其属性如下: person(1, "zhangsan", "123"); 当 merge(person); 时,表示它会先从数据库中查询出id和person id值一致的持久化对象 select ... where id = 1 如得到的对象为person2且其属性如下: person2(1, "lisi", "567"); 那么如果它们属性不一样,将person的属性赋给person2 person2(1, "zhangsan","123") 再 return person2

将原来的代码: saveOrUpdate(person); 改为 merge(person);

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档