Поиск свойства объекта в предопределенном списке с использованием HQL
Вопрос
Я пытаюсь сделать запрос в HQL, чтобы узнать, находится ли идентификатор человека в списке предопределенных идентификаторов.
Например, я хотел бы найти в базе данных всех людей с идентификатором 1 или 2.
Проблема в том, что я не могу сделать:из Person person, где id в elements(:ids), потому что elements ожидает идентификатор (например, person.childIds), а не именованный параметр.
Есть ли способ сделать это, не прибегая к анализу списка и созданию строки вручную?
Спасибо.
Решение
Все, что вам нужно сделать, это указать коллекцию в запросе.
query.setParameterList("userIds", new Integer[] {1,2});
Тогда в вашем запросе
FROM User WHERE id IN (:userIds)
Не связан с StackOverflow