浏览 302 次
|
该帖已经被评为隐藏帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-05-05
在用Hibernate进行分页时,在进入前5页都很正常。在查询第6页的时候就像死机了一样。怎么也不动。
代码如下:
int totalRows = ((Integer)this.getSession().createQuery("select count(*) " + hql).uniqueResult()).intValue(); //查询总页数
PaginationSupport page = new PaginationSupport(arealist, totalRows, currentPage); //实现分页
arealist.add(this.getListForPage(hql, (currentPage-1)*page.getPageSize(), page.getPageSize())); //分页查询
分页查询
public List getListForPage(final String hql, final int offset,
final int length) {
List list = getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list();
return list;
}
});
return list;
}
在第六次查询时,在这里不动了。后台也没有错误出现。 arealist.add(this.getListForPage(hql, (currentPage-1)*page.getPageSize(), page.getPageSize())); 在执行分页查询的时候出错的。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-05-06
是这样的,在Hibernate中
获取session的两种方式:this.getSession();和this.getHibernateTemplate().getSessionFactory().openSession(); 获取session以后再createQuery操作就一样了。但是这种做法,是需要自己去手动关闭session的。所以你需要配置openSessioninview 我加了这个配置,问题就好了。原文在 http://xrb2008.javaeye.com/blog/152836 |
|
| 返回顶楼 | |
|
最后更新时间:2008-05-06
不用 手动 关闭 session吧?
用 spring管理后, 怎么样拿到的 session 都不用 管吧? |
|
| 返回顶楼 | |


