mrrigth 发表于 2013-1-29 10:30:43

Query.list()多次调用后挂掉问题

用jquery 写了一个前台分页 ajax 请求,返回 json 类型,
在点下一页第六七次的时候卡住了
错误很诡异: 1不报异常 2不返回请求 无奈半天先用排除法也就(Sysout方法)逐层排查 ,
最后发现到DAO执行此方法时的return q.list();这个地方出了问题,这就是copy代码的弊端啊。贴上代码以作提醒
public List<UserGeneral> getLimitUsers(int pageNum, int pageSize)throws Exception {String hql = "select * from UserGeneral order by username desc";Session s = this.getHibernateTemplate().getSessionFactory().openSession();//将这里换成.getCurrentSession();解决//Session s = this.getHibernateTemplate().getSessionFactory().getCurrentSession();Query q = s.createQuery("from UserGeneral order by username");q.setFirstResult(pageNum);q.setMaxResults(pageSize);return q.list();}}
openSession();每次都创建一个新的会话
getCurrentSession();获取当前存在的
页: [1]
查看完整版本: Query.list()多次调用后挂掉问题