将列表传递给HQL或SQL中的IN子句? [英] passing list to IN clause in HQL or SQL?
本文介绍了将列表传递给HQL或SQL中的IN子句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
通过执行查询来获取 List< Strings>
。这必须传递给另一个 IN 子句值的查询。如何在 HQL 中传递它们?
我们可以将 List
转换为<$ c
最后,我必须通过列表中的列表来传递它,这不是问题。 或
数组
或字符串
形式添加到 IN
或
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();
I get List<Strings>
by executing a query. This must be passed to another query of IN clause values. How to pass them in HQL?
We can convert List
to Array
and can pass it, that's not a problem.
Finally, I must pass the list in List<String>
or Array
or String
form to the IN clause.
解决方案
from AUTOS a where a.model in (select m.model from MODELS m)
or
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();
这篇关于将列表传递给HQL或SQL中的IN子句?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文