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

时间:2016-08-22 10:35:30

标签: java spring spring-data spring-data-commons

Spring Data类org.springframework.data.domain.SlicegetSize()getNumberOfElements之间的区别是什么?

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

2 个答案:

答案 0 :(得分:8)

getSize()返回切片的容量。

getNumberOfElements() Slice包含多少元素。

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

答案 1 :(得分:2)

这是区别。

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

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

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

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

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

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

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