Java spring数据jpa由。。。。。。使用多列但不保存搜索文本
我使用的是SpringDataJPA,有一个查询来搜索整个列中的文本 例如: repository.findByNameContainingOrAliasContaining(名称、别名、可分页) 名字和别名是同一个值,我必须这样写 字符串名称=文本;字符串别名=文本Java spring数据jpa由。。。。。。使用多列但不保存搜索文本,java,spring,hibernate,jpa,spring-data-jpa,Java,Spring,Hibernate,Jpa,Spring Data Jpa,我使用的是SpringDataJPA,有一个查询来搜索整个列中的文本 例如: repository.findByNameContainingOrAliasContaining(名称、别名、可分页) 名字和别名是同一个值,我必须这样写 字符串名称=文本;字符串别名=文本 repository.findByNameContainingOrAliasContaining(名称、别名、, 可分页) 实际上,我有5列需要匹配,那么我怎么才能停止编写同样愚蠢的代码呢? 并将代码设置为:repository.
repository.findByNameContainingOrAliasContaining(名称、别名、, 可分页) 实际上,我有5列需要匹配,那么我怎么才能停止编写同样愚蠢的代码呢? 并将代码设置为:
repository.findByNameContainingOrAliasContaining(文本,可分页)
(现在编写此代码将导致“.NoSuchElementException”)
当您面临隐式查询的限制时,您可以始终切换到显式
@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);
@Query(“从Foo f中选择f,其中f.name像%?1%或f.alias像%?1%或…”)
公共列表findByAnyColumnContaining(字符串文本,可分页);
hi,正如您所说,我已经尝试过了,但是spring似乎仍然在解析方法名,而不是执行查询注释。我有一个例外,“没有发现任何财产”,我怎么能修复它,非常感谢!真奇怪。如果您将方法名称更改为完全不同的名称,该怎么办?我尝试了,例如“fullTextSearch(string text,Pageable Pageable)”,然后异常显示:“找不到完整的属性”…OMG您使用哪种版本的Spring Data JPA?您如何定义存储库?谢谢您的回复。我在问题正文中添加了一个图像。这是我对存储库的定义,版本是“1.3.4.RELEASE”,我听说版本“1.3.1”中有一个bug