【发布时间】:2019-06-13 17:09:39
【问题描述】:
我尝试了索引和命名参数,但它不起作用:
public interface CharacterRepository extends JpaRepository<Character, Long> {
@Query(nativeQuery=true, value="SELECT * FROM Character WHERE pinyin like '%:keyword%'")
List<Character> findByKeyword(@Param("keyword") String keyword);
}
输出的sql是:
休眠:
SELECT
*
FROM
Character
WHERE
pinyin like '%:keyword%'
为什么keyword-placeholder没有被我实际传递的参数代替?
【问题讨论】:
-
它“未被替换”,因为它不是这样的命名参数。它是(部分)字符串文字(用引号括起来)。您需要将其放在引号之外作为参数
-
@tobi 我们的回答对您有帮助吗?请不要忘记标记它们...
标签: spring parameters spring-data-jpa jpql