对于最新的稳定版本,请使用 Spring Data Elasticsearch 5.5.2spring-doc.cadn.net.cn

存储库查询返回类型

支持的查询返回类型

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

地理空间类型(例如GeoResult,GeoResultsGeoPage) 仅适用于支持地理空间查询的数据存储。 一些 store 模块可能会定义自己的结果包装器类型。
表 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

一个独特的实体。期望查询方法最多返回一个结果。如果未找到结果,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 或番石榴Optional.期望查询方法最多返回一个结果。如果未找到结果,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(…)工厂方法采用Streamable作为论据。有关详细信息,请参阅返回自定义可流式传输包装器类型。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使用响应式存储库发出零个或一个元素。期望查询方法最多返回一个结果。如果未找到结果,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使用响应式存储库发出单个元素。期望查询方法最多返回一个结果。如果未找到结果,Mono.empty()被返回。多个结果会触发IncorrectResultSizeDataAccessException.spring-doc.cadn.net.cn

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

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

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

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