HQL和Criteria查询时,解决卡死的通用方法
方法一:
采用Spring管理session
return this.getHibernateTemplate().executeFind(new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); return query.list(); //Criteria criteria = session.createCriteria(XXX.class); //return criteria.list(); } });
方法二:
获取session,采用HibernateDAOSupport的releaseSession即可
Session session=getHibernateTemplate().getSessionFactory().openSession(); //HQL //Criteria releaseSession(session);