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();获取当前存在的

猜你喜欢

转载自mrrigth.iteye.com/blog/1692110