用Hibernate 分页,每页显示记录数不一样

问题描述:

用Hibernate 分页,为什么每页显示记录数不一样呢?如下代码:

  int firstResultIndex = pageSize * (pageNow - 1);       
  int endResultIndex = firstResultIndex+pageSize;  
  Query query = getSession().createQuery("from Hr_Entry_Flow");
  query.setFirstResult(firstResultIndex );
  query.setMaxResults(endResultIndex );
  list = query.list();

pageSize是15,第一页是显示15行,但第二页就显示了30行,第三页显示21行,为什么显示的都不是按firstResultIndex 和endResultIndex 限制的行数呢?

query.setFirstResult(firstResultIndex ); //起始index
query.setMaxResults(pageSize); //pageSize

是setMaxResults()的问题,你搞错了

query.setMaxResults(endResultIndex );
设置的是pageSize,也就是每页多少记录数,而不是结束记录的序号