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 || '%')
。
这个问题是指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 || '%')
。