简体   繁体   English

如何使用 JPA 命名查询在查询参数中设置类似值

[英]How to set like value in query parameter with JPA named query

I have a JPA query as below我有一个 JPA 查询如下

 public interface MyRepository extends JpaRepository<User, String> {
  @Query(value = "select * from User where code like 'PER%'", 
  nativeQuery= true)
  public List<User> findAllUsers(String param);
 }

How do I replace the 'PER%' with?1如何将“PER%”替换为?1

Thanks in advance.提前致谢。

public interface MyRepository extends JpaRepository<User, String> {
  @Query(value = "select * from User where code like CONCAT(:param,'%')", 
  nativeQuery= true)
  public List<User> findAllUsers(@Param("param") String param);
 }

You can use the query parameter with index ?1 Query Creation and Spring Data JPA您可以将查询参数与索引?1 查询创建Spring 数据 JPA 一起使用

@Query(value = "select * from User where code like ?1%", 
nativeQuery= true)
public List<User> findAllUsers(String param);

OR passing parameters via name.或通过名称传递参数。

@Query(value = "select * from User where code like :param%", 
nativeQuery= true)
public List<User> findAllUsers(@Param("param")  String param);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM