一尘不染

如何将值列表设置为休眠查询的参数?

hibernate

例如,我有此查询

 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})

结果,我想有这样的SQL查询 id in (1,2,3,4)


阅读 215

收藏
2020-06-20

共1个答案

一尘不染

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

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