【发布时间】:2012-12-12 01:33:42
【问题描述】:
如果您有一个带有类似列表的命名查询:
@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN ('Jack', 'Jill')")
是否可以将列表命名为绑定变量,以便您设置所需的内容:
q.setParameter( ....... );
欢迎提出建议
【问题讨论】:
如果您有一个带有类似列表的命名查询:
@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN ('Jack', 'Jill')")
是否可以将列表命名为绑定变量,以便您设置所需的内容:
q.setParameter( ....... );
欢迎提出建议
【问题讨论】:
是的,这是可能的。就像对任何其他参数一样:
@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN :names")
q.setParameter("names", Arrays.asList("Jack", "Jill"));
【讨论】:
这样使用
@NamedQuery(name="selection" , query=" SELECT x FROM Employee x WHERE x.name IN (:availableCollection)")
namesCollection // conatains your Lsit of names
query.setParameterList('availableCollection', namesCollection);
【讨论】: