通過執行查詢得到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