我正在阅读Spring Data JPA官方文档中有关Page
和Slice
(重点是我)之间的区别的这一段:
第一种方法使您可以将org.springframework.data.domain.Pageable实例传递给查询方法,以将分页动态添加到静态定义的查询中。页面知道可用元素和页面的总数。它是通过基础结构触发计数查询来计算总数来实现的。 由于这可能很昂贵(取决于所使用的商店),因此您可以返回切片。切片仅知道下一个切片是否可用,当遍历较大的结果集时可能就足够了。
我了解到Page
如何通过使用相同的where子句执行附加的计数查询来获取元素总数,但是Slice
如何知道其他元素是否可用一个查询?什么是执行的SQL?
答案 0 :(得分:2)
Slice如何通过单个查询来了解其他元素是否可用?
Spring Data JPA选择的一个元素要比实际填充Slice
所需的元素多(如果存在),则还有另一个Slice
可用。如果不是,则这是最后一个Slice
。