Подтвердить что ты не робот

Передать список в позицию IN в HQL или SQL?

Я получаю List<Strings>, выполняя запрос. Это должно быть передано другому запросу значений IN. Как передать их в HQL?

Мы можем преобразовать List в Array и передать его, что не проблема.

Наконец, я должен передать список в форме List<String> или Array или String в предложение IN.

4b9b3361

Ответ 1

from AUTOS a where a.model in (select m.model from MODELS m) 

или

Query query1 = session.createQuery("select s.id from Salary s where s.salary < 50000 AND s.salary > 49980");
Query query2 = session.createQuery("from Employee e where e.id in (:ids)").setParameterList("ids", query1.list());
query2.list();

Ответ 2

Я знаю, что это было какое-то время, и вы пытались передать значение другого запроса в качестве параметра запросаParameter, вы также можете передать набор или коллекции в предложение в HQL с помощью "elements()" - вот простой пример такое использование: Запрос на спящий режим: содержит ли Set определенный объект?