Spring @Query with Lower and Wildcards

Spring @Query with Lower and Wildcards

这个问题是指Spring数据JPA。

我需要一个(本机)@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%) -> 不工作! LOWER(:model) -> 有效!

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

List<Car> findByModelContainingIgnoreCase( String model );

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

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

干杯

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