为什么Query中的setFirstResult()接受int参数?

时间:2016-08-17 06:04:09

标签: jpa pagination api-design

我在Java中实现自定义分页,我想知道为什么Query的setFirstResult()方法将 int 作为参数?这意味着在数据库中的行数超过2.147.483.647后,我无法进行分页?

有没有办法使用long呢?

1 个答案:

答案 0 :(得分:1)

因为int足够大了。考虑到使用LIMIT/OFFSET时,建议使用ORDER BY子句来获得可靠的结果(否则您可能会在多个页面上获得相同的行),结果集为20亿行&#39 ; ll将在服务器上对结果进行排序,然后跳过OFFSET行来获取您的页面,即使达到int的限制,它也会非常低效。