假设我想编写以下HQL查询:
FROM Cat c WHERE c.id IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
将此作为参数化查询编写的正确方法是什么,例如
FROM Cat c WHERE c.id IN (?)
Run Code Online (Sandbox Code Playgroud)
Mat*_*tej 127
我不确定如何使用位置参数执行此操作,但是如果可以使用命名参数而不是位置,则可以将命名参数放在括号内,并且可以使用来自Query接口的setParameterList方法将值列表绑定到此参数.
...
Query query = session.createQuery("FROM Cat c WHERE c.id IN (:ids)");
query.setParameterList("ids", listOfIds);
...
Run Code Online (Sandbox Code Playgroud)
Tra*_*vis 10
旧版本的Hibernate可能没有这个setParameterList方法Query.您仍然可以调用setParameter("ids", listOfIds);旧版本以获得相同的效果.
| 归档时间: |
|
| 查看次数: |
56798 次 |
| 最近记录: |