2012-12-26 9 views
7

の名前付きバインド変数あなたのようなリストとnamedquery持っている場合:JPAという名前のクエリ:リスト

@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN ('Jack', 'Jill')") 

あなたはあなたが欲しいものを設定して名前のバインド変数にリストを作成することも可能である。

q.setParameter(....... ); 

任意の提案は、はい、それが可能だ

答えて

11

歓迎されるであろう。ただ、他のパラメータのようにそれを実行します。

@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN :names") 

q.setParameter("names", Arrays.asList("Jack", "Jill")); 
+0

括弧は必要ありません。この方法は?他の答えにはそれらが含まれています - いくつかの詳細を見つけた[この回答](http://stackoverflow.com/a/21341663/1146608) –

2

使用

@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN (:availableCollection)") 


namesCollection // conatains your Lsit of names 

query.setParameterList('availableCollection', namesCollection); 
関連する問題