附录

附录 A:命名空间参考

<repositories />元素

<repositories />元素触发 Spring Data 存储库基础结构的设置。最重要的属性是base-package,它定义要扫描 Spring Data 存储库接口的包。请参阅 “[repositories.create-instances.spring]”。下表描述了<repositories />元素:spring-doc.cadn.net.cn

表 6.属性
名字 描述

base-packagespring-doc.cadn.net.cn

定义要扫描的软件包,以查找扩展*Repository(实际接口由特定的 Spring Data 模块确定)处于自动检测模式。也会扫描已配置包下的所有包。允许使用通配符。spring-doc.cadn.net.cn

repository-impl-postfixspring-doc.cadn.net.cn

定义 postfix 以自动检测自定义存储库实现。名称以配置的后缀结尾的类被视为候选类。默认为Impl.spring-doc.cadn.net.cn

query-lookup-strategyspring-doc.cadn.net.cn

确定用于创建 finder 查询的策略。有关详细信息,请参阅“[repositories.query-methods.query-lookup-strategies]”。默认为create-if-not-found.spring-doc.cadn.net.cn

named-queries-locationspring-doc.cadn.net.cn

定义搜索包含外部定义查询的 Properties 文件的位置。spring-doc.cadn.net.cn

consider-nested-repositoriesspring-doc.cadn.net.cn

是否应考虑嵌套的存储库接口定义。默认为false.spring-doc.cadn.net.cn

附录 B:Populators 命名空间参考

<populator /> 元素

<populator />元素允许通过 Spring Data 存储库基础结构填充数据存储。[1]spring-doc.cadn.net.cn

表 7.属性
名字 描述

locationsspring-doc.cadn.net.cn

在何处查找要从存储库中读取对象的文件应填充。spring-doc.cadn.net.cn

附录 C:存储库查询关键字

支持的查询方法主题关键字

下表列出了 Spring Data 存储库查询派生机制通常支持的用于表示谓词的 subject 关键字。 有关支持的关键词的确切列表,请参阅特定于商店的文档,因为此处列出的某些关键词在特定商店中可能不受支持。spring-doc.cadn.net.cn

表 8.查询主题关键字
关键词 描述

find…By,read…By,get…By,query…By,search…By,stream…Byspring-doc.cadn.net.cn

常规查询方法通常返回存储库类型CollectionStreamable子类型或结果包装器(如Page,GeoResults或任何其他特定于 store 的结果包装器。可用作findBy…,findMyDomainTypeBy…或与其他关键字结合使用。spring-doc.cadn.net.cn

exists…Byspring-doc.cadn.net.cn

Exists 投影,通常返回boolean结果。spring-doc.cadn.net.cn

count…Byspring-doc.cadn.net.cn

Count 投影返回数值结果。spring-doc.cadn.net.cn

delete…By,remove…Byspring-doc.cadn.net.cn

删除查询方法返回无结果 (void) 或删除计数。spring-doc.cadn.net.cn

…First<number>…,…Top<number>…spring-doc.cadn.net.cn

将查询结果限制为第一个<number>的结果。此关键字可以出现在主题之间的任何位置find(和其他关键字)和by.spring-doc.cadn.net.cn

…Distinct…spring-doc.cadn.net.cn

使用非重复查询仅返回唯一结果。请查阅特定于商店的文档,了解该功能是否受支持。此关键字可以出现在主题之间的任何位置find(和其他关键字)和by.spring-doc.cadn.net.cn

支持的查询方法谓词关键字和修饰符

下表列出了 Spring Data 存储库查询派生机制通常支持的谓词关键字。 但是,有关支持的关键词的确切列表,请参阅特定于商店的文档,因为此处列出的某些关键词在特定商店中可能不受支持。spring-doc.cadn.net.cn

表 9.查询谓词关键字
逻辑关键字 关键字表达式

ANDspring-doc.cadn.net.cn

Andspring-doc.cadn.net.cn

ORspring-doc.cadn.net.cn

Orspring-doc.cadn.net.cn

AFTERspring-doc.cadn.net.cn

After,IsAfterspring-doc.cadn.net.cn

BEFOREspring-doc.cadn.net.cn

Before,IsBeforespring-doc.cadn.net.cn

CONTAININGspring-doc.cadn.net.cn

Containing,IsContaining,Containsspring-doc.cadn.net.cn

BETWEENspring-doc.cadn.net.cn

Between,IsBetweenspring-doc.cadn.net.cn

ENDING_WITHspring-doc.cadn.net.cn

EndingWith,IsEndingWith,EndsWithspring-doc.cadn.net.cn

EXISTSspring-doc.cadn.net.cn

Existsspring-doc.cadn.net.cn

FALSEspring-doc.cadn.net.cn

False,IsFalsespring-doc.cadn.net.cn

GREATER_THANspring-doc.cadn.net.cn

GreaterThan,IsGreaterThanspring-doc.cadn.net.cn

GREATER_THAN_EQUALSspring-doc.cadn.net.cn

GreaterThanEqual,IsGreaterThanEqualspring-doc.cadn.net.cn

INspring-doc.cadn.net.cn

In,IsInspring-doc.cadn.net.cn

ISspring-doc.cadn.net.cn

Is,Equals、(或无关键字)spring-doc.cadn.net.cn

IS_EMPTYspring-doc.cadn.net.cn

IsEmpty,Emptyspring-doc.cadn.net.cn

IS_NOT_EMPTYspring-doc.cadn.net.cn

IsNotEmpty,NotEmptyspring-doc.cadn.net.cn

IS_NOT_NULLspring-doc.cadn.net.cn

NotNull,IsNotNullspring-doc.cadn.net.cn

IS_NULLspring-doc.cadn.net.cn

Null,IsNullspring-doc.cadn.net.cn

LESS_THANspring-doc.cadn.net.cn

LessThan,IsLessThanspring-doc.cadn.net.cn

LESS_THAN_EQUALspring-doc.cadn.net.cn

LessThanEqual,IsLessThanEqualspring-doc.cadn.net.cn

LIKEspring-doc.cadn.net.cn

Like,IsLikespring-doc.cadn.net.cn

NEARspring-doc.cadn.net.cn

Near,IsNearspring-doc.cadn.net.cn

NOTspring-doc.cadn.net.cn

Not,IsNotspring-doc.cadn.net.cn

NOT_INspring-doc.cadn.net.cn

NotIn,IsNotInspring-doc.cadn.net.cn

NOT_LIKEspring-doc.cadn.net.cn

NotLike,IsNotLikespring-doc.cadn.net.cn

REGEXspring-doc.cadn.net.cn

Regex,MatchesRegex,Matchesspring-doc.cadn.net.cn

STARTING_WITHspring-doc.cadn.net.cn

StartingWith,IsStartingWith,StartsWithspring-doc.cadn.net.cn

TRUEspring-doc.cadn.net.cn

True,IsTruespring-doc.cadn.net.cn

WITHINspring-doc.cadn.net.cn

Within,IsWithinspring-doc.cadn.net.cn

除了 filter 谓词之外,还支持以下修饰符列表:spring-doc.cadn.net.cn

表 10.查询谓词修饰符关键字
关键词 描述

IgnoreCase,IgnoringCasespring-doc.cadn.net.cn

与 predicate 关键字一起使用,用于不区分大小写的比较。spring-doc.cadn.net.cn

AllIgnoreCase,AllIgnoringCasespring-doc.cadn.net.cn

对所有合适的属性忽略大小写。在查询方法谓词中的某个位置使用。spring-doc.cadn.net.cn

OrderBy…spring-doc.cadn.net.cn

指定静态排序顺序,后跟属性 path 和 direction (例如OrderByFirstnameAscLastnameDesc).spring-doc.cadn.net.cn

附录 D:存储库查询返回类型

支持的查询返回类型

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

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

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

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

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

公开构造函数或….of(…)/….valueOf(…)Factory 方法采用Streamableas 参数。有关详细信息,请参阅 [repositories.collections-and-iterables.streamable-wrapper]。spring-doc.cadn.net.cn

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

Vavr 集合类型。有关详细信息,请参阅 [repositories.collections-and-iterables.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

ListenableFuturespring-doc.cadn.net.cn

一个org.springframework.util.concurrent.ListenableFuture.期望使用@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

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