passing list to IN clause in HQL or SQL?

感情迁移 提交于 2019-11-26 19:23:26

问题


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.


回答1:


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



回答2:


I know it's been a while and you have been trying to pass the value of a different query as a queryParameter, you can also pass set or collections to in clause in HQL with 'elements()' - here's a simple example of such usage: Hibernate query: does a Set contains a certain Object?



来源:https://stackoverflow.com/questions/12652937/passing-list-to-in-clause-in-hql-or-sql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!