当前位置: 首页 > 知识库问答 >
问题:

%Like% 查询在Spring Jpa存储库

相高谊
2023-03-14

我想在JpaRepository中编写一个类似的查询,但它没有返回任何内容:

像'%place%'-它不起作用。

像“地方”一样完美。

以下是我的代码:

@Repository("registerUserRepository")
public interface RegisterUserRepository extendsJpaRepository<Registration,Long> {

    @Query("Select c from Registration c where c.place like :place")
     List<Registration> findByPlaceContaining(@Param("place")String place);
}

共有3个答案

郤仰岳
2023-03-14

对于您的情况,您可以直接使用 JPA 方法。该代码就像波纹管:

包含:选择...喜欢%:地点%

List<Registration> findByPlaceContainingIgnoreCase(String place);

在这里,IgnoreCase将帮助您在忽略案例的情况下搜索项目。

在JPQL中使用@Query:

@Query("Select registration from Registration registration where 
registration.place LIKE  %?1%")
List<Registration> findByPlaceContainingIgnoreCase(String place);

以下是一些相关方法:

> < Li > < p > Like < code > findByPlaceLike

…哪里像x.place?一

StartingWith findByPlaceStartingWith

...其中 x.place,如 ?1(参数绑定后附加了 %)

EndingWith<code>findByPlaceEndingWith

…哪里像x.place?1(用前缀%绑定的参数)

包含<code>findbyplace包含<code>

像这样的地方在哪里?1(参数绑定,包装为%)

更多信息,查看此链接,此链接和此

希望这将帮助您:)

邵飞鸿
2023-03-14

实际上,您根本不需要@Query注释。

您只需使用以下

    @Repository("registerUserRepository")
    public interface RegisterUserRepository extends JpaRepository<Registration,Long>{
    
    List<Registration> findByPlaceIgnoreCaseContaining(String place);

    }
云和同
2023-03-14

spring data JPA查询需要“%”字符以及<code>后面的空格字符,就像查询中的

@Query("从注册c中选择c,其中c.place像%: place%")

参见http://docs . spring . io/spring-data/JPA/docs/current/reference/html。

您可能想一起去掉< code>@Query注释,因为它看起来像标准查询(由spring数据代理自动实现);即使用单线

List<Registration> findByPlaceContaining(String place);

足够了。

 类似资料:
  • 问题内容: 我想写一个类似的查询,但它不返回任何东西: -它不起作用。 完美地工作。 这是我的代码: 问题答案: Spring数据JPA查询需要“%”字符以及查询中的空格字符,如 。 cf. http://docs.spring.io/spring- data/jpa/docs/current/reference/html 。 您可能希望完全摆脱注释,因为它看起来类似于标准查询(由spring数据

  • 问题内容: 我在PDO中实施LIKE时遇到问题 我有这个查询: 我检查了,并且它们都包含我要搜索的单词,由于我的某些查询 有效,因此我的PDO正常工作,只是我对PDO 不太熟悉。 结果不返回。我的语法正确吗? 问题答案: 您必须在而不是查询中包括符号: 如果您在之前的代码中查看生成的查询,则会看到类似的内容,因为prepared语句在一个已被引用的字符串内引用了您的值。

  • 我正在使用elasticsearch从json文件中过滤和搜索,我是这项技术的新手。所以我有点困惑如何在ElasticSearch中编写查询。 这是oracle查询。如何在ElasticSearch中编写此查询?我使用的是elasticsearch版本6.8.13

  • 前面介绍了如何查询数据库单条和多条数据,本小节介绍如何使用关键字模糊查询符合要求的结果集,模糊查询在实际业务中主要用于搜索关键字查询需要的信息。 1.模糊查询表达式 % 表示指代任意内容,例如 '%小%' 表示包含 小 的表达式,且 小 前后都有内容, '%小' 表示以 小 结尾的表达式,王 前面有内容,后面没有内容,'小%' 表示以 小 开头的表达式,小 前面没有内容,后面有内容。 2.使用LI

  • 我有一个解析模板,它将从appsync查询中获取开始日期作为日期。但我在迪纳摩的约会是有日期时间戳的。我们如何在没有时间的情况下比较这两个日期。以下是我的解析器模板查询: