Spring @Query with Lower和Wildcards

时间:2017-03-28 07:51:41

标签: java sql spring spring-data-jpa wildcard

本课题涉及Spring Data JPA。

我需要一个带有Lower Function和Wildcards的(native)@Query。 但我不能让它发挥作用。

这是我正在寻找的过于简化的版本:

@Query(value = "SELECT * FROM CAR c WHERE LOWER(c.model) LIKE LOWER(%:model%)", nativeQuery = true)
List<Car> findByModelMatching( @Param("model") String model );

LOWER(%:model%) - &gt;不工作! LOWER(:model) - &gt;作品!

我知道这样的查询可以很容易地重写为:

List<Car> findByModelContainingIgnoreCase( String model );

但我不是在寻找一个命名查询。

我的问题是:如何在@Query中将LOWER(甚至UPPER)与WildCards结合使用!

干杯

1 个答案:

答案 0 :(得分:4)

LOWER函数接受字符串,如果您在Oracle上,则应编写LOWER('%' || :model || '%')