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

Dar*_*Ray 7 java sql jpa

如果你有一个带有列表的命名查询,例如:

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

是否可以将列表设置为命名绑定变量,以便您设置所需的内容:

q.setParameter( .......  );
Run Code Online (Sandbox Code Playgroud)

欢迎大家提出意见

JB *_*zet 11

是的,这是可能的.就像任何其他参数一样:

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

q.setParameter("names", Arrays.asList("Jack", "Jill"));
Run Code Online (Sandbox Code Playgroud)