Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: RafaelОтветов: 1

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

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

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

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

Спасибо.

hibernatehql

Ответы

Ответ 1 · рейтинг 1 · Zoidberg

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

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

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

FROM User WHERE id IN (:userIds)

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы