java - Spring JpaRepository 中的 %Like% 查询

标签 java jpa spring-data-jpa

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

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

LIKE '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);
}

最佳答案

spring 数据 JPA 查询需要 "%"字符以及查询中 like 后面的空格字符,如

@Query("Select c from Registration c where c.place like %:place%").

参照。 http://docs.spring.io/spring-data/jpa/docs/current/reference/html .

您可能希望完全摆脱 @Query 注释,因为它似乎类似于标准查询(由 spring 数据代理自动实现);即使用单行

List<Registration> findByPlaceContaining(String place);

就足够了。

关于java - Spring JpaRepository 中的 %Like% 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25362540/

相关文章:

java - 无法将变量添加到我的数组

java - 保留已有子实体的实体

java - Spring Boot + Hibernate JPA 配置以使用 EntityManager

java - Tomcat servlet 和 JFrame

java - 如果 findBugs 目标是查找错误,如何使我的 Ant 构建失败

java - 什么时候需要在方法签名中使用 "throws"?

spring - 我如何让 spring 使用 postgresql 识别第一个大写字母

java.lang.IncompatibleClassChangeError : class org. springframework.core.type.classreading.ClassMetadataReadingVisitor 错误

spring - javax.persistence.TransactionRequiredException : no transaction is in progress - Spring Batch

spring-boot - Spring 启动 : autowire beans from library project