通过执行查询得到List<Strings>
。这必须传递给IN子句值的另一个查询。如何通过HQL?将列表传递给HQL或SQL中的IN子句?
我们可以将List
转换为Array
并且可以通过它,这不是问题。
最后,我必须List<String>
或Array
或String
形式传递的列表中IN条款。
通过执行查询得到List<Strings>
。这必须传递给IN子句值的另一个查询。如何通过HQL?将列表传递给HQL或SQL中的IN子句?
我们可以将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();
我知道它已经有一段时间,你一直在试图通过不同的查询作为queryParameter的价值,你也可以通过设置或集合在子句中HQL 'elements()' - 这里有一个简单的例子: Hibernate query: does a Set contains a certain Object?
这将做同样的事情..谢谢你的回复,即使是晚了..对别人有帮助.. –
这是否也适用于复合ID? – rexdefuror
这是一个很好的答案,但不适用于空集合。 – Jagger
是否可以用1个查询来完成?像在SQL与子查询? – tObi