1 回答

TA贡献1806条经验 获得超5个赞
您可以使用setMaxResults()和 setFirstResult()来Query限制记录数和第一条返回记录的偏移量。
setMaxResults()相当于SQL 中的LIMITwhere 。setFirstResult()OFFSET
结合spring数据,代码如下Query: Pageable
Query query = entityManager.createQuery(sql.toString());
query.setMaxResults(pageable.getPageSize());
query.setFirstResult(pageable.getOffset());
假设每次要返回10条记录。Pageable每页的为
Pageable page1 = PageRequest.of(0, 10); //Page 1 , offset=0 , limit=10
Pageable page2 = PageRequest.of(10, 10); //Page 2 , offset=10 , limit=10
Pageable page3 = PageRequest.of(20, 10); //Page 3 , offset=20 , limit=10
....
......
Pageable pageN = PageRequest.of((n-1)*10, 10); //Page N , offset=(N-1)*10 , limit=10
添加回答
举报