2017-12-06 22 views
0

のように私はこのクエリを試してみました:春データJPA NativeQuery検索

@Query(value = "SELECT distinct `id`,`customer name`,`customer number` FROM My_Data WHERE `customer number` like '%" 
     + ":customerNumber" + "%'", nativeQuery = true) 
public List<MyData> findDistinctByCustomerNumberContainingIgnoreCase(
     @Param("customerNumber") String customerNumber); 

私はこれを実行すると、 私が取得:

java.lang.IllegalArgumentExceptionが:その位置でのパラメータ[1] は存在しませんでした。

私は自分のテーブルにいくつかの制限があるため、ネイティブクエリが必要です。

+0

は現在、メソッドのシグネチャとの質問を更新メソッドシグネチャ –

+0

@MaciejKowalskiを示しました。 –

答えて

1

かっこ内のプレースホルダを入れているとエンジンがプレーンな文字列として扱われます。

あなたは、単に%とそれを囲むと、エンジンが解決クエリでparenthersesを追加することを解析するために知っている:

@Query(value = "SELECT distinct `id`,`customer name`,`customer number` FROM My_Data 
     WHERE `customer number` like %:customerNumber%", nativeQuery = true)