JPARepository,名称方法返回包含“文本”的字段[关闭]

Posted

技术标签:

【中文标题】JPARepository,名称方法返回包含“文本”的字段[关闭]【英文标题】:JPARepository, name method to return field with "text" included [closed] 【发布时间】:2020-04-02 09:52:40 【问题描述】:

我正在使用 Spring Boot 2 和 JPARepository,我需要返回字段中包含单词的行。

例如,我想返回 A 字段中包含“SearchMe”一词的所有行。 我必须使用什么方法?

(目前单词总是在字符串的开头,但是如果在所有位置搜索会更好。

    findByAStartsWith (String search)
    findByAStartingWith (String search)
    findByAisStartingWith (String search)
    findByAContaining (String search)

有什么区别?

非常感谢。

【问题讨论】:

其实我没试过也不能试ATM。 【参考方案1】:

您可以在 JPQL 查询中使用%

@Query("Select a from TableName a where a.A like %:search%").

或来自 Spring Data 代理,如

findByAContaining(String search);

供参考 - https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation

【讨论】:

【参考方案2】:

你应该使用

List<Entity> findByALikeIgnoreCase(String searchString);

因为您不需要在前面加上%,所以它不区分大小写。

【讨论】:

以上是关于JPARepository,名称方法返回包含“文本”的字段[关闭]的主要内容,如果未能解决你的问题,请参考以下文章