[英]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.