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,名称方法返回包含“文本”的字段[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Spring Framework JpaRepository 通过 findAll() 方法返回第一行的重复项
JpaRepository 注解 如何根据某非主键属性删除一个(或一批)记录?
使用 jparepository 从 getmapping 返回布尔结果
使用 JpaRepository,getById() 函数返回 null