简体   繁体   English

jpa命名查询:列表的命名绑定变量

[英]jpa named query : named bind variables for list

if you have a namedquery with a list like : 如果你有一个带有列表的命名查询,例如:

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

is it possible to make the list to named bind variables so you set what you want with : 是否可以将列表设置为命名绑定变量,以便您设置所需的内容:

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

Any suggestions would be welcome 欢迎大家提出意见

Yes, it's possible. 是的,这是可能的。 Just do it like for any other parameter: 就像任何其他参数一样:

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

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

Use this way 用这种方式

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


namesCollection // conatains your Lsit of names

query.setParameterList('availableCollection', namesCollection);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM