Поиск свойства объекта в предопределенном списке с использованием HQL

Я пытаюсь сделать запрос в HQL, чтобы увидеть, находится ли идентификатор человека в списке предопределенных идентификаторов.

Например, я хотел бы найти всех людей с идентификатором 1 или 2 в базе данных.

Проблема в том, что я не могу сделать: from Person person where id in elements(:ids), потому что элементы ожидают идентификатор (например, person.childIds), а не именованный параметр.

Есть ли способ сделать это, не прибегая к разбору списка и созданию строки вручную?

Спасибо.


person Rafael    schedule 26.11.2009    source источник


Ответы (1)


Все, что вам нужно сделать, это установить коллекцию в запросе.

query.setParameterList("userIds", new Integer[] {1,2});

Затем в вашем запросе

FROM User WHERE id IN (:userIds)
person Zoidberg    schedule 26.11.2009
comment
Вот что я подумал, похоже, вы были довольно близки ... но я дал полный ответ, потому что сегодня у меня украли акцепт. Удачи! - person Zoidberg; 26.11.2009