spring data jpa findBy......多列但保存搜索文本

Awa*_*ing 5 java spring hibernate jpa spring-data-jpa

我正在使用 spring 数据 jpa,并有一个查询来搜索整列中的文本。

例如:

repository.findByNameContainingOrAliasContaining(name, alias, pageable)

并且名称和别名是相同的值,我必须这样写

字符串名称 = 文本;字符串别名 = 文本;
repository.findByNameContainingOrAliasContaining(name, alias, pageable)

实际上,我有 5 列要匹配,那么我怎么能停止编写相同的愚蠢代码呢?并使代码如下:(repository.findByNameContainingOrAliasContaining(text, pageable)现在编写此代码将导致“.NoSuchElementException”)

存储库

axt*_*avt 4

当您面临隐式查询的限制时,您始终可以切换到显式查询@Query

@Query("select f from Foo f where f.name like %?1% or f.alias like %?1% or ...")
public List<Foo> findByAnyColumnContaining(String text, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)