首页 > 代码库 > 同时操作两个数据库:报错Illegal attempt to associate a collection with two open sessions
同时操作两个数据库:报错Illegal attempt to associate a collection with two open sessions
今天我在一个操作两个数据库的SSH里 同时插入1条数据
报错 Illegal attempt to associate a collection with two open sessions
在这里有答案:http://fuaotech.iteye.com/blog/1298826
使用hibenate的merge方法代替save、update等方法。
merge和saveOrUpdate方法区别在于:merge方法是把我们提供的对象转变为托管状态的对象;而saveOrUpdate则是把我们提供的对象变成一个持久化对象;说的通俗一点就是:saveOrUpdate后的对象会纳入session的管理,对象的状态会跟数据库同步,再次查询该对象会直接从session中取,merge后的对 象不会纳入session的管理,再次查询该对象还是会从数据库中取。所以一般建议用merge
将MissionDaoImpl类中的 this.getHibernateTemplate().save(data); save方法改为了merge方法
将此方法:public boolean addData(Object data) throws Exception {
this.getHibernateTemplate().save(data);
return true;
}
同时操作两个数据库:报错Illegal attempt to associate a collection with two open sessions
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。