2017-09-05 70 views
1

HQL的新手和我正在抨擊我的頭靠在牆上!連接表上的HQL子查詢

如何將此SQL查詢更改爲HQL?

db.person_table是由Hibernate生成的連接表。

SELECT * FROM db.username 
WHERE id IN (SELECT person_id from db.person_table where person_id = 3); 

我要麼最終得到一個 「非法企圖取消引用集合」 或錯誤將其轉換爲HQL

+1

請發佈您的實體,因爲HQL與那些相關 – Zeromus

回答

1

您可以連接嘗試的時候「不被映射」。檢查相應的HQL實現。

SELECT a.* 
FROM db.username a 
INNER JOIN db.person_table b ON id = person_id 
WHERE person_id = 3;