【发布时间】:2016-12-23 16:04:18
【问题描述】:
我正在用 Java 实现自定义分页,我想知道为什么 Query 的 setFirstResult() 方法需要 int 作为参数?就是说DB中的行数超过2.147.483.647之后就不能分页了?
有没有办法用 long 代替?
【问题讨论】:
-
严重吗?您要对 20 亿条记录进行分页吗?
-
只是理论上的,例如我认为 FB 有超过 20 亿个帖子
-
如果你有这么大的结果集,我认为你需要在查询条件中分页(出于性能原因你可能不得不这样做)。
-
@Thilo 我的知识有限,但据我了解,您不能在 JPQL 中明确使用 LIMIT(x,y) (至少我不能),Query 为您解决了这个问题(@987654322 @),所以基本上这就是查询条件。
-
@Peter 没有真正的用例可以使用如此庞大的结果集进行分页。如果你认为你需要它,那么你在某个地方犯了一个严重的设计缺陷。
标签: jpa pagination api-design