如何在 spring JPA @query 中使用忽略大小写?

how to use ignore case in spring JPA @query?

我有如下查询:

@Query("SELECT b FROM Brand b WHERE b.name1 LIKE %:name1% or b.name2 like %:name2%")
List<Brand> findSome(@Param("name1") String name1, @Param("name2") String name2);

我想忽略大小写,所以我尝试修改它

@Query("SELECT b FROM Brand b WHERE lower(b.name1) LIKE lower(%:name1%) or lower(b.name2) like lower(%:name2%)")

但是这看起来不行,我该怎么办?

问题可能出在您的 JP-Query 语法上。尝试使用这个:

lower(b.name1) LIKE concat('%', lower(:name1), '%')

进一步参考:http://openjpa.apache.org/builds/1.2.3/apache-openjpa/docs/jpa_langref.html#jpa_langref_like