如何在JPA中对结果查询进行分页?

时间:2012-11-21 22:41:28

标签: java hibernate jpa paginate

我正在尝试使用JPA实现分页功能,但我遇到了麻烦。

我可以获取并设置链接上的第一个和最后一个数字,例如本地主机:8000 /第一= 11&安培;最后= 20

正如您所看到的,我正在尝试从第11行开始到第20行结束的项目,但是,我从第一个开始获得所有结果但是总数最后一个例如从10开始,但结果为20,而不是期望的10。

我正在使用:

query.setFirstResult(firstRowNumber - 1).setMaxResults(lastRowNumber);

因此,我如何限制我的结果?

1 个答案:

答案 0 :(得分:3)

你想要这个:

query
  .setFirstResult(firstRowNumber - 1)
  .setMaxResults(lastRowNumber - firstRowNumber + 1);

请注意,该方法的名称为setMaxResults()(总数),而不是setLastResult()。看看非常好处理分页的真棒