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

时间:2014-03-11 09:09:40

标签: java spring hibernate jpa spring-data-jpa

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

例如:

  

repository.findByNameContainingOrAliasContaining(name,alias,pageable)

名称和别名是相同的值,我必须像

一样写
  

string name = text; string alias = text;
  repository.findByNameContainingOrAliasContaining(name,alias,   可分页)

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

repository

1 个答案:

答案 0 :(得分:3)

当您面临隐式查询的限制时,您始终可以切换到显式@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);