浏览 2693 次
锁定老帖子 主题:一个createQuery(hql)问题
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-05
代码如下: 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())); 在执行分页查询的时候出错的。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-06
是这样的,在Hibernate中
获取session的两种方式:this.getSession();和this.getHibernateTemplate().getSessionFactory().openSession(); 获取session以后再createQuery操作就一样了。但是这种做法,是需要自己去手动关闭session的。所以你需要配置openSessioninview 我加了这个配置,问题就好了。原文在 http://xrb2008.iteye.com/blog/152836 |
|
返回顶楼 | |
发表时间:2008-05-06
不用 手动 关闭 session吧?
用 spring管理后, 怎么样拿到的 session 都不用 管吧? |
|
返回顶楼 | |