pengyayun
2012-08-21 11:40
浏览 363
已采纳

hibernate 分页查询??

写了一个hibernate分页查询,设置了:
query.setFirstResult(first);
query.setMaxResults(10);
第一页返回的集合是10条,到后面每翻一页,返回的list集合都是累加10条记录。但是页面上显示的又是正确的,所以很不解????
下面是jsp上显示的代码:

${sks.cmdId}
${sks.objType}
${sks.objName}
${sks.cmdFile}
${sks.createDate}
/c:forEach

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • angelbill3 2012-08-21 11:53
    已采纳

    String hql = "from XXXXXXXXXXXX";
    Query query = session.createQuery(hql);
    query.setCacheable(true);
    List result = query.setFirstResult(start).setMaxResults(limit).list();

    hql语句自己写;
    传值:start,limit

    方法没错吧。可能是你传值错了。DEBUG一下。

    点赞 打赏 评论
  • jinnianshilongnian 2012-08-21 12:01

    query.setFirstResult(first); :是首记录位置,一般计算规则是: (页码-1)* 每页记录数
    query.setMaxResults(10);

    为什么页面能正常显示呢》
    <c:forEach begin="0" end="${pagingUtil.pageSize-1}"

    你这里 begin表示循环索引从0开始,end表示结束索引(pagingUtil.pageSize-1 = 9)

    即只循环集合的0-9

    点赞 打赏 评论

相关推荐