2012-12-26 15 views
7

के लिए नामित किया बाँध चर अगर आप की तरह एक सूची के साथ एक namedquery है:जेपीए नामित क्वेरी: सूची

@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); 
संबंधित मुद्दे