如何在HQL查询中使用setString()设置IN操作数

时间:2014-07-17 12:42:33

标签: java sql hibernate

如果sql类似

,我们可以设置id
select * from user where id = :id

使用setString("id", "0")

如何在

之后设置ID
select * from user where id in (0,2)

在HQL查询中。

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式:

通过将sql查询字符串作为"从用户中选择*来获取prepareStatement,其中id为(?,?)"然后将id的值设置为:

    stmt.setInt(0);
    stmt.setInt(2);

其中stmt是PreparedStatement的实例。

为HQL编辑:

使用HQL,您可以将其查询为:

    Query q = session.createQuery("from user u where id IN (:ids)");
    q.setParameterList("ids", idList);

其中idList是您要传递的ID列表。