原来的代码:
@SuppressWarnings("unchecked")
public List<T> getListByPage(int currentPage, int pageSize) {
Session session = this.getHibernateTemplate().getSessionFactory()
.openSession();
Query query = session.createQuery("from "
+ this.getPersistentClass().getName());
int startRow = (currentPage) * pageSize - pageSize;
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
List<T> listPage = (List<T>) query.list();
return listPage;
}
不知道是什么原因,找了一些分页的资料,把我的代码和书中的对比之后发现 我的代码里session没有关闭,
修改后的代码:
@SuppressWarnings("unchecked")
public List<T> getListByPage(int currentPage, int pageSize) {
Session session = this.getHibernateTemplate().getSessionFactory()
.openSession();
Query query = session.createQuery("from "
+ this.getPersistentClass().getName());
int startRow = (currentPage) * pageSize - pageSize;
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
List<T> listPage = (List<T>) query.list();
session.close();
return listPage;
}
这样修改后,竟然有用了,可能是原来的session没关闭,一直都是用那个,那个结果还没有返回完的原因吧,,不明所以。。。忘高手解答