将列表传递给HQL或SQL中的IN子句? [英] passing list to IN clause in HQL or SQL?

查看:110
本文介绍了将列表传递给HQL或SQL中的IN子句?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



我们可以将 List 转换为<$ c

最后,我必须通过列表中的列表来传递它,这不是问题。 或数组字符串形式添加到 IN

模型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();


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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆