【问题标题】:JPARepository, name method to return field with "text" included [closed]JPARepository,名称方法返回包含“文本”的字段[关闭]
【发布时间】: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。

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


【解决方案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);
    

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

    【讨论】:

      猜你喜欢
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 2014-10-20
      • 2022-07-06
      • 1970-01-01
      • 2018-05-09
      • 2012-07-04
      • 2011-08-31
      相关资源
      最近更新 更多