仓库查询关键字

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

下表列出了 Spring Data 仓库查询派生机制通常支持的主题关键字,用于表达谓词。请查阅特定存储的文档以了解支持的关键字的确切列表,因为此处列出的某些关键字可能不受特定存储支持。

表 1. 查询主题关键字
关键字 说明

find…Byread…Byget…Byquery…Bysearch…Bystream…By

通常返回仓库类型、CollectionStreamable 子类型或结果包装器的通用查询方法,例如 PageGeoResults 或任何其他特定于存储的结果包装器。可用作 findBy…findMyDomainTypeBy… 或与其他关键字结合使用。

exists…By

存在投影,通常返回 boolean 结果。

count…By

计数投影,返回数字结果。

delete…Byremove…By

删除查询方法,返回无结果(void)或删除计数。

…First<number>……Top<number>…

将查询结果限制为前 <number> 个结果。此关键字可以在 find(及其他关键字)和 by 之间的主题中的任何位置出现。

…Distinct…

使用 distinct 查询仅返回唯一结果。查阅特定于存储的文档,了解是否支持该功能。此关键字可以在 find(及其他关键字)和 by 之间的主题中的任何位置出现。

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

下表列出了 Spring Data 存储库查询派生机制通常支持的谓词关键字。但是,请查阅特定于存储的文档以了解支持的关键字的确切列表,因为此处列出的某些关键字可能不受特定存储支持。

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

AND

And

OR

Or

AFTER

AfterIsAfter

BEFORE

BeforeIsBefore

CONTAINING

ContainingIsContainingContains

BETWEEN

BetweenIsBetween

ENDING_WITH

EndingWithIsEndingWithEndsWith

EXISTS

Exists

FALSE

FalseIsFalse

GREATER_THAN

GreaterThanIsGreaterThan

GREATER_THAN_EQUALS

GreaterThanEqualIsGreaterThanEqual

IN

InIsIn

IS

IsEquals(或无关键字)

IS_EMPTY

IsEmptyEmpty

IS_NOT_EMPTY

IsNotEmptyNotEmpty

IS_NOT_NULL

NotNullIsNotNull

IS_NULL

NullIsNull

LESS_THAN

LessThanIsLessThan

LESS_THAN_EQUAL

LessThanEqualIsLessThanEqual

LIKE

LikeIsLike

NEAR

NearIsNear

NOT

NotIsNot

NOT_IN

NotInIsNotIn

NOT_LIKE

NotLikeIsNotLike

REGEX

RegexMatchesRegexMatches

STARTING_WITH

StartingWithIsStartingWithStartsWith

TRUE

TrueIsTrue

WITHIN

WithinIsWithin

除了筛选谓词之外,还支持以下修饰符列表

表 3. 查询谓词修饰符关键字
关键字 说明

IgnoreCaseIgnoringCase

与谓词关键字一起使用,用于不区分大小写的比较。

AllIgnoreCaseAllIgnoringCase

忽略所有适用属性的大小写。在查询方法谓词中的某个位置使用。

OrderBy…

指定静态排序顺序,后跟属性路径和方向(例如 OrderByFirstnameAscLastnameDesc)。