6.4 附录D Repository查询返回类型

优质
小牛编辑
121浏览
2023-12-01

支持的查询返回类型

下面的表格列出了Spring Data repositories支持的返回类型。某些特定的存储可能不支持全部的返回类型。

只有支持地理空间查询的数据存储才支持GeoResult,GeoResults,GeoPage等返回类型

Table 6.Query return types(查询返回值)

返回值类型描述
void表示没有返回值
Primitives基本的Java类型
Wrapper typesJava的包装类
T最多只返回一个实体。没有查询结果时返回null。如果超过了一个结果会抛出IncorrectResultSizeDataAccessException的异常
Iterator一个迭代器
Collection一个集合
List一个列表
Optional返回Java 8或Guava中的Optional类。查询方法的返回结果最多只能有一个。如果超过了一个结果会抛出IncorrectResultSizeDataAccessException的异常
StreamJava 8引入的Stream类
Future一个Future类,查询方法需要带有@Async注解,并开启Spring异步执行方法的功能
CompletableFuture返回Java8中新引入的CompletableFuture类,查询方法需要带有@Async注解,并开启Spring异步执行方法的功能
ListenableFuture返回org.springframework.util.concurrent.ListenableFuture类,查询方法需要带有@Async注解,并开启Spring异步执行方法的功能
Slice返回指定大小的数据和是否还有可用数据的信息。需要方法带有Pageable类型的参数
Page在Slice的基础上附加返回总数等信息。需要方法带有Pageable类型的参数
GeoResult返回结果会附带诸如到相关地点距离等信息
GeoResults返回GeoResult的列表,并附带到相关地点平均距离等信息
GeoPage分页返回GeoResult,并附带到相关地点平均距离等信息