Spring Data JPA 切片底层 SQL

Page我在 Spring Data JPA 官方文档中阅读了这段关于和之间的区别Slice(强调我的):

第一种方法让您将 org.springframework.data.domain.Pageable 实例传递给查询方法,以动态地将分页添加到静态定义的查询中。Page 知道可用元素和页面的总数。它通过基础架构触发计数查询来计算总数来实现。由于这可能很昂贵(取决于所使用的商店),您可以改为返回一个 Slice。Slice 只知道下一个 Slice 是否可用,这在遍历更大的结果集时可能就足够了。

我知道 a 如何Page通过使用相同的 where 子句执行额外的计数查询来获取总元素,但是 a 如何Slice通过单个查询知道其他元素是否可用?执行的SQL是什么?


撒科打诨
浏览 60回答 1
1回答

富国沪深

Slice 如何通过单个查询知道其他元素是否可用?Spring Data JPA 选择一个比实际需要多的元素来填充Slice如果存在该附加元素,则还有另一个Slice可用。如果不是,这是最后一次Slice。请参阅代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java