将列表传递给 HQL 或 SQL 中的 IN 子句?

2022-09-01 00:27:46

我通过执行查询获得。这必须传递给 IN 子句值的另一个查询。如何在HQL中通过它们?List<Strings>

我们可以转换为并可以通过它,这不是问题。ListArray

最后,我必须将列表或形式传递给 IN 子句。List<String>ArrayString


答案 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

我知道已经有一段时间了,你一直在尝试将不同查询的值作为queryParameter传递,你也可以将集合或集合传递给HQL中的子句中的“elements()” - 这是一个这种用法的简单示例:Hibernate查询:集合是否包含某个对象?


推荐