【发布时间】:2021-09-02 23:16:24
【问题描述】:
如何在同一个查询中多次使用一个参数?这是我的查询:
@Query(value = """
SELECT * FROM person WHERE first_name = ? or last_name = ?
""", nativeQuery = true)
List<Person> findPerson(String name);
我需要在查询中使用两次“name”参数,我该怎么做?
注意:这只是一个虚拟示例,以便我理解逻辑。
我试过了:
@Query(value = """
SELECT * FROM person WHERE first_name = ?1 or last_name = ?1
""", nativeQuery = true)
List<Person> findPerson(String name);
我收到以下错误:
org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
我也试过这个:
@Query(value = """
SELECT * FROM person WHERE first_name = :name or last_name = :name
""", nativeQuery = true)
List<Person> findPerson(@Param("name") String name);
这给了我同样的错误:
org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
【问题讨论】:
-
您对提供的查询或您未共享的其他查询是否有异常?
-
@Ben,你找到解决办法了吗?
标签: sql spring-boot jpa spring-data-jpa repository