SSH中hibernate执行Query查询时时,前几次都运行正常,但却会在第5次时卡在query语句或者beginTransaction

Javacode@SuppressWarnings("unchecked")publicList<CommlistBean>queryForPage(intoffset,... Java code

@SuppressWarnings("unchecked")
public List<CommlistBean> queryForPage(int offset,int length){
Session session = sessionFactory.openSession();
session.beginTransaction();
Query q = session.createQuery("from CommlistBean");
q.setFirstResult(offset);
q.setMaxResults(length);
List<CommlistBean> list = q.list();
session.getTransaction().commit();
session.close();
return list;
}

这个问题是在做分页的时候遇到的,在多次点击“下一页”时,会在5或者第6次时卡住,没有任何错误提示和异常。经调试,前5次下一步运行良好,当第五次点击下一页时,会在“session.beginTransaction();”或者“List<CommlistBean> list = q.list(); ”执行的时候卡住。只能重新启动server。

PS.基本排除边界问题,因为重复反复点击“首页”和“尾页”,也会在第5、6次时卡住。

新手,分不多,本着探讨问题的心态来求助大家。希望能和大家交流经验。
展开
 我来答
小龙vs菲多
2011-03-08 · TA获得超过395个赞
知道答主
回答量:176
采纳率:0%
帮助的人:158万
展开全部
public List<CommlistBean> queryForPage(int offset,int length){
Session session = sessionFactory.openSession();
//session.beginTransaction(); (查询,不用开启事务的,把这句去掉)
Query q = session.createQuery("from CommlistBean");
q.setFirstResult(offset);
q.setMaxResults(length);
List<CommlistBean> list = q.list();
//session.getTransaction().commit();(查询,不用开启提交事务的,把这句也去掉)
session.close();
return list;
}
bailingzhl
2011-03-09
知道答主
回答量:23
采纳率:0%
帮助的人:16.1万
展开全部
用session执行查询的话 , 是不用事物的, 只有在做增删改的时候需要用到事物,之所以用hibernate是因为hibernate会帮助我们来管理事物!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式