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

StackOverflow https://stackoverflow.com/questions/1805023

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

Спасибо.

Это было полезно?

Решение

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

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

Тогда в вашем запросе

FROM User WHERE id IN (:userIds)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top