Как установить список значений в качестве параметра в запросе гибернации? - PullRequest
24 голосов
/ 05 июля 2011

Например, у меня есть этот запрос

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

, и я хочу установить идентификаторы в список (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)

1 Ответ

41 голосов
/ 05 июля 2011

Использование setParameterList(). Вы также должны будете поставить круглые скобки вокруг параметра списка.

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