我通过执行查询得到了List<Strings>
,必须将其传递给 IN 子句的值。如何在HQL中传递它们?
我们可以将 List
转换为 Array
并传递它,这并不是问题。
最后,我必须以List<String>
、Array
或 String
的形式将列表传递给 IN 子句。
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();
我知道这已经过了一段时间,而且您一直在尝试将不同查询的值作为查询参数传递,您还可以使用 'elements()' 在HQL中将集合或集合传递给in子句 - 这里是一个简单的示例:
Hibernate查询:集合是否包含某个对象?