2016-08-22 94 views

回答

6

getSize()返回Slice的容量。

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

例如:您需要来自PagingAndSortingRepository的页面数据。您可以调用像repo.findAll这样的方法(新的PageRequest(0,30)),这意味着您请求包含最多30个实体的第一页数据。假设数据库中只有10个实体,您会收到一个页面,其中大小为30,numberOfElements为10.

2

以下是区别。

考虑,例如检索到的全部内容有55项和页大小为10

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

示例:一个页面可以被定义为有10个项目。所以,getSize()会根据Page定义返回10。

getNumberOfElements - 返回一个页面

实施例的实际内容大小: -元件的数量可以是10或小于10基于实际数据。最后一页将返回5个项目。

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

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

+0

如果我请求的页面大小为10,为什么检索到的内容有50个项目?如果我要求10,我希望得到10个或更少的物品。我可以看到,如果我请求10,并且只剩下4个项目,'getSize'可能会返回10,但是'getNumberOfElements'的实际数量为4个。 – jhyot

+0

已更新我的答案。 – notionquest

相关问题