Query.list() 方法执行异常

来源:百度知道 编辑:UC知道 时间:2024/05/28 04:02:21
Query.list() 方法异常
编码如下!
Biz层代码:
String hql = "select o from SysUser o where 1=1 ";
this.commonDao.listByPage(hql,pageResult);

Dao层代码:
public void listByPage(String hql, PageResult pageResult) {
if (null==hql){
return ;
}
Query query = this.getSession().createQuery(hql);
query.setFirstResult(pageResult.getFirstRec());
query.setMaxResults(pageResult.getPageSize());
List list = query.list(); //卡死.程序僵死!
pageResult.setList(list);//将LIST存到pageResult类的list集合里,页面直接读取pageResult.list
}

两层的代码如上: 前几次运行都没有问题.数据啥都正常,只是多次以后,执行到List list = query.list();这行代码时,MyEclipse就僵死.只能重新启动Tomcat 在运行. 查询List多次后还是会出现同样问题,始终不报错.请大家帮帮忙,急死,项目!分不是问题 ,不能直接用HibernateDaoSupport.list(),因上述List方法来实现分页功能! 调试时僵死图片如下:停止啥的都是灰色不可选!

你说运行多次就卡。。因为你分页了。。所以应该不是数据多的原因。。我估计是pageResult回来的。getFirstRec()或者。getPageSize()里搞错了。。你调试下这里。。。看看是不是。。

一个个问题排查吧 既然 query.list()出现异常 理论上来说 就是 query对象有问题 从HQL 仔细检查起
包括获取的SESSION是否正常,不过this.getSession().createQuery(hql)能过 那SESSION应该是正常的
顺便也检查下 PAGERESULT是否正确

是不是数据量太大了
造成的
你加上条件
每次少查询些
看看是不是可以点的次数多一些