Я не уверен в JPA 1.0, но вы можете передать Collection
в JPA 2.0:
String qlString = "select item from Item item where item.name IN :names";
Query q = em.createQuery(qlString, Item.class);
List<String> names = Arrays.asList("foo", "bar");
q.setParameter("names", names);
List<Item> actual = q.getResultList();
assertNotNull(actual);
assertEquals(2, actual.size());
Протестировано с EclipseLInk. В Hibernate 3.5.1 вам нужно заключить параметр в круглые скобки:
String qlString = "select item from Item item where item.name IN (:names)";
Но это ошибка, JPQL-запрос в предыдущем примере является допустимым JPQL. См. ЧЧЧ-5126 .