此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data Commons 3.4.4spring-doc.cadn.net.cn

存储库查询返回类型

支持的查询返回类型

下表列出了 Spring Data 存储库通常支持的返回类型。 但是,有关支持的返回类型的确切列表,请参阅特定于 store 的文档,因为此处列出的某些类型在特定 store 中可能不受支持。spring-doc.cadn.net.cn

地理空间类型(例如GeoResult,GeoResultsGeoPage) 仅适用于支持地理空间查询的数据存储。 一些 store 模块可能会定义自己的 result wrapper 类型。
表 1.查询返回类型
返回类型 描述

voidspring-doc.cadn.net.cn

表示无返回值。spring-doc.cadn.net.cn

spring-doc.cadn.net.cn

Java 原语。spring-doc.cadn.net.cn

包装器类型spring-doc.cadn.net.cn

Java 包装器类型。spring-doc.cadn.net.cn

Tspring-doc.cadn.net.cn

唯一实体。期望 query 方法最多返回一个结果。如果未找到结果,null返回。多个结果会触发IncorrectResultSizeDataAccessException.spring-doc.cadn.net.cn

Iterator<T>spring-doc.cadn.net.cn

Iterator.spring-doc.cadn.net.cn

Collection<T>spring-doc.cadn.net.cn

一个Collection.spring-doc.cadn.net.cn

List<T>spring-doc.cadn.net.cn

一个List.spring-doc.cadn.net.cn

Optional<T>spring-doc.cadn.net.cn

Java 8 或 GuavaOptional.期望 query 方法最多返回一个结果。如果未找到结果,Optional.empty()Optional.absent()返回。多个结果会触发IncorrectResultSizeDataAccessException.spring-doc.cadn.net.cn

Option<T>spring-doc.cadn.net.cn

Scala 或 VavrOption类型。语义上与 Java 8 的行为相同Optional,如前所述。spring-doc.cadn.net.cn

Stream<T>spring-doc.cadn.net.cn

Java 8Stream.spring-doc.cadn.net.cn

Streamable<T>spring-doc.cadn.net.cn

的便捷扩展Iterable它直接公开了流、映射和过滤结果、连接它们等的方法。spring-doc.cadn.net.cn

实现Streamable并获取Streamable构造函数或工厂方法参数spring-doc.cadn.net.cn

公开构造函数或….of(…)/….valueOf(…)Factory 方法采用Streamableas 参数。有关详细信息,请参阅返回自定义 Streamable Wrapper 类型spring-doc.cadn.net.cn

瓦夫尔Seq,List,Map,Setspring-doc.cadn.net.cn

Vavr 集合类型。有关详细信息,请参阅支持 Vavr 集合spring-doc.cadn.net.cn

Future<T>spring-doc.cadn.net.cn

一个Future.期望使用@Async并且需要启用 Spring 的异步方法执行功能。spring-doc.cadn.net.cn

CompletableFuture<T>spring-doc.cadn.net.cn

Java 8CompletableFuture.期望使用@Async并且需要启用 Spring 的异步方法执行功能。spring-doc.cadn.net.cn

Slice<T>spring-doc.cadn.net.cn

大小的数据块,指示是否有更多可用数据。需要Pageablemethod 参数。spring-doc.cadn.net.cn

Page<T>spring-doc.cadn.net.cn

一个Slice包含其他信息,例如结果总数。需要Pageablemethod 参数。spring-doc.cadn.net.cn

Window<T>spring-doc.cadn.net.cn

一个Window从滚动查询获得的结果。提供ScrollPosition发出下一个滚动查询。需要ScrollPositionmethod 参数。spring-doc.cadn.net.cn

GeoResult<T>spring-doc.cadn.net.cn

包含其他信息 (例如到参考位置的距离) 的结果条目。spring-doc.cadn.net.cn

GeoResults<T>spring-doc.cadn.net.cn

一个GeoResult<T>包含其他信息,例如到参考位置的平均距离。spring-doc.cadn.net.cn

GeoPage<T>spring-doc.cadn.net.cn

一个PageGeoResult<T>,例如到参考位置的平均距离。spring-doc.cadn.net.cn

Mono<T>spring-doc.cadn.net.cn

项目反应器Mono使用反应式存储库发出零个或一个元素。期望 query 方法最多返回一个结果。如果未找到结果,Mono.empty()返回。多个结果会触发IncorrectResultSizeDataAccessException.spring-doc.cadn.net.cn

Flux<T>spring-doc.cadn.net.cn

项目反应器Flux使用反应式存储库发出零个、一个或多个元素。返回Flux还可以发出无限数量的元素。spring-doc.cadn.net.cn

Single<T>spring-doc.cadn.net.cn

一个 RxJavaSingle使用反应式存储库发出单个元素。期望 query 方法最多返回一个结果。如果未找到结果,Mono.empty()返回。多个结果会触发IncorrectResultSizeDataAccessException.spring-doc.cadn.net.cn

Maybe<T>spring-doc.cadn.net.cn

一个 RxJavaMaybe使用反应式存储库发出零个或一个元素。期望 query 方法最多返回一个结果。如果未找到结果,Mono.empty()返回。多个结果会触发IncorrectResultSizeDataAccessException.spring-doc.cadn.net.cn

Flowable<T>spring-doc.cadn.net.cn

一个 RxJavaFlowable使用反应式存储库发出零个、一个或多个元素。返回Flowable还可以发出无限数量的元素。spring-doc.cadn.net.cn