Передать список в позицию IN в HQL или SQL?
Я получаю List<Strings>
, выполняя запрос. Это должно быть передано другому запросу значений IN. Как передать их в HQL?
Мы можем преобразовать List
в Array
и передать его, что не проблема.
Наконец, я должен передать список в форме List<String>
или Array
или String
в предложение IN.
Ответы
Ответ 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 определенный объект?