如何将值列表作为参数设置为hibernate查询?

时间:2011-07-05 15:09:02

标签: sql hibernate jpa

例如,我有这个查询

 select cat from Cat cat where cat.id in :ids 

我想将ID设置为列表(1,2,3,4,5,6,17,19)。

此代码不起作用

session.createQuery("select cat from Cat cat where cat.id in :ids")
       .setParameter("ids", new Long[]{1,2,3,4,5})

结果我想要id in (1,2,3,4)

之类的SQL查询

1 个答案:

答案 0 :(得分:41)

使用setParameterList()。您还必须在列表参数周围加上括号。

session.createQuery("select cat from Cat cat where cat.id in (:ids)").setParameterList("ids", new Long[]{1,2,3,4,5})