2017-11-13 6 views
1

ように私は、ネイティブクエリを使用して、このような何かをしようとしている:春データクエリの上限パラメータ

@Query(value = "select * from systems where UPPER(system_name) like UPPER('%?1%') ORDER BY system_name LIMIT '?2'", nativeQuery = true) 
List<System> findAllBySystemNameWithLimit(String systemName, int limit); 

しかし、それは動作しません。パラメータとしてlimitを使用することは可能ですか?ご回答ありがとうございます。

+0

あなたの基盤となるデータベースは、何で、どのようなあなたは「それはうまくいかない」という意味ですか? –

+1

はい、私はすでにそれを修正しましたが、Oracle dbには制限がないことを忘れてしまいました。 :Dしかし、コンカットもうまくいきませんでした。 – Helosze

答えて

2

あなたがそう代わりに、クエリは次のようになりますか:paramnameあなたが
'%?1%''?2'を行うように2重引用符の間にそれらを使用する必要はありません?1を使用します。

select * from systems 
    where UPPER(system_name) like UPPER(CONCAT('%', ?1, '%')) ORDER BY system_name LIMIT ?2 
    //------------------------------^-----^-----^----^---^-------------------------------^^ 
+0

私はこれまでに試してみましたが、動作しません – Helosze

+0

私の編集を確認してください@Heloszeはconcatを代わりに使用します –

+0

しかし、問題はlimitパラメータではなく、最初のものです – Helosze

関連する問題