2

以下のようなクエリがあります。

@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%)")

しかし、これはうまくいかないようです、どうすればいいですか?

4

1 に答える 1

8

問題はおそらく 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

于 2016-02-06T09:00:13.277 に答える