13 sql hibernate jpa in-operator sql-in
我们正在尝试为本机sql查询动态生成IN子句以返回JPA实体.Hibernate是我们的JPA提供者.我们的代码看起来像这样.
@NamedQuery(
name="fooQuery",
queryString="select f from Foo f where f.status in (?1)"
)
....
Query q = entityManager.createNamedQuery("fooQuery");
q.setParameter(1, "('NEW','OLD')");
return q.getResultList();
Run Code Online (Sandbox Code Playgroud)
这不起作用,in子句不识别通过这种方式传递的任何值.有谁知道这个问题的解决方案?
top*_*hef 20
在您的情况下,JPA支持命名列表参数:
@NamedQuery(
name="fooQuery",
queryString="select f from Foo f where f.status in (?1)"
)
Query q = entityManager.createNamedQuery("fooQuery");
List<String> listParameter = new ArrayList<>();
listParameter.add("NEW");
listParameter.add("OLD");
q.setParameter(1, listParameter);
return q.getResultList();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22918 次 |
最近记录: |