2011-07-05 10 views
21

Na przykład, mam tej kwerendyJak ustawić listę wartości jako parametr do zapytania o hibernację?

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

i chcę ustawić identyfikatory do listy (1,2,3,4,5,6,17,19).

Ten kod nie działa

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

W wyniku chciałbym mieć zapytanie SQL jak id in (1,2,3,4)

Odpowiedz

30

Korzystanie setParameterList(). Będziesz także musiał umieścić nawias wokół parametru listy.

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

niesamowite, dziękuję – nihirus

Powiązane problemy