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

Mr.*_*ary 39 java hibernate hql in-clause

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

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

最后,我必须通过列表List<String>ArrayString形成的IN子句.

Ser*_*hyk 77

from AUTOS a where a.model in (select m.model from MODELS m) 
Run Code Online (Sandbox Code Playgroud)

要么

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();
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的答案,但不适用于空集合. (4认同)