Illegal attempt to associate a collection with two open sessions

遇到这个错误其实是上次 增|删|改|查 的时候获取session的时候忘记释放了,用到session的时候一定要记住了记得释放。最好 try ...catch ...finally 一把,下面是个小例子。

写道
public List<FlowProjectBaseinfo> getFlowProjectBaseinfos(List<Integer> ids) {
Session session=getSession();
List list=new ArrayList();
try{
DetachedCriteria criteria = DetachedCriteria.forClass(FlowProjectBaseinfo.class);
criteria.add(Restrictions.in("flowProjectId", ids));
list=criteria.getExecutableCriteria(session).list();
}catch(Exception e){
e.printStackTrace();
}finally{
this.releaseSession(session);
}
return list;
}

 

你可能感兴趣的:(Collection)