一尘不染

在(…)查询中编写HQL的正确方法

hibernate

假设我要编写以下HQL查询:

FROM Cat c WHERE c.id IN (1,2,3)

将其编写为参数化查询的正确方法是什么,例如

FROM Cat c WHERE c.id IN (?)

阅读 282

收藏
2020-06-20

共1个答案

一尘不染

我不确定如何使用位置参数来执行此操作,但是如果可以使用命名参数而不是位置参数,则可以将命名参数放在方括号内,并且可以使用Query接口中的setParameterList方法将值列表绑定到此参数。

...
Query query = session.createQuery("FROM Cat c WHERE c.id IN (:ids)");
query.setParameterList("ids", listOfIds);
...
2020-06-20