【Hibernate】Illegal attempt to associate a collection with two open sessions

今天在用Hibernate对对象进行修改操作的时候报了这个错。

之前一直没什么错误,但是今天修改了一下表结构,增加了一个OneToMany的映射。

所以在我获取对象,重新set一个变量之后就报了这个错误了。

Illegal attempt to associate a collection with two open sessions; nested exception is org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions

网上查了一下,说是不同session直接对象的操作造成的,原因还有待查明。

目前暂时采用了下面的方法

在修改完对象值之后,给对象的OneToMany的List设置null值就可以了。

Dao<Resources> resourcesDao=TitanContext.getDaoProxy(Resources.class);
Resources resource = resourcesDao.find(id);
resource.setClickCount(resource.getClickCount()+1);
resource.setResourcePeriod(null);    
resourcesDao.update(resource);

先做下备注。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。