Spring Data Slice:getSize() 和 getNumberOfElements() 之间的区别

Spring Data 类中的 getSize()getNumberOfElements 有什么区别?org.springframework.data.domain.Slice

Javadoc在这里没有提供太多的帮助。


答案 1

getSize() 返回 Slice 的容量。

getNumberOfElements() Slice 包含多少个元素。

例如:您希望从分页和排序存储库中获取数据页。您可以调用像repo.findAll(new PageRequest(0,30))这样的方法,这意味着您请求最多包含30个实体的第一页数据。假设数据库中只有 10 个实体,您会收到一个 Page,其中大小为 30,numberOfElements 为 10。


答案 2

这就是区别。

例如,检索到的完整内容有 55 个项目,页面大小为 10。

getSize - 如果页面大小可分页,则返回页面大小(即当前页面大小)

例:可以将一个页面定义为包含 10 个项目。因此,getSize() 将根据 Page 定义返回 10。

getNumberOfElements - 返回页面的实际内容大小

示例:-根据实际数据,元素数可以是 10 个或小于 10 个。最后一页将返回 5 个项目。

org.springframework.data.domain.AbstractPageRequest.java - 具有 size 属性

org.springframework.data.domain.Chunk - 抽象类具有getNumberOfElements()方法的定义,返回内容的大小(即列表类型)


推荐