在网上查了资料,原因是分页的时候,查询的结果是空,但是还设置了分页,所以会报错。
解决方案有两个:
方案1、在分页代码下加条件
public static List<?> getList(Session session , String HQL , int currentPage, int pageSize){
Query q = session.createQuery(HQL);
if(currentPage != 0 && pageSize != 0 && q.list().size()!= 0)
{
int startRow = (currentPage-1)*pageSize;
q.setFirstResult(startRow);
q.setMaxResults(pageSize);
}
List<?> list = q.list();
//返回查询结果
return list;
}
其中的if条件是当查询结果为空的时候就不进行分页了,所以不会报错。
方案2、在Hibernate的配置文件加上这句配置:
<property name="jdbc.use_scrollable_resultset">false</property>
我找到了一篇关于Hibernate配置的博客,点击下边的链接进入查看: