2013-03-13 69 views
1

僱主有很多員工(一對多的關係)。這是我如何選擇一個給定的:employer員工:where employer.employees.gender ='m',或者如何過濾項目字段上的項目列表?

select employer.employees 
from Employer employer 
where employer = :employer 

我想過濾結果只拿到其中genderm員工。我如何使用HQL來實現這一點?在doc中有沒有我沒有注意到的任何條款?

理想的情況下,這樣的:

and employer.employees.gender = 'm' 

或者:

and each(employer.employees).gender = 'm' 
+0

你正朝着正確的方向..你是否得到了一些錯誤,這和條件? 14.9在你提到的文檔中有類似的例子.. – Meherzad 2013-03-13 10:08:36

+0

@Meherzad 14.9的例子是用於多對一的關係,而我正在研究一對多的關係,而這正是關鍵...... – sp00m 2013-03-13 10:14:59

回答

2

嘗試此查詢

SELECT ey.name 
FROM Employer employer 
LEFT JOIN employer.employees ey 
WHERE ey.gender = 'm' AND employer = :employer 

希望這有助於。

+0

這將做這項工作,但它會返回僱主,而不是其僱員的名單... – sp00m 2013-03-13 10:27:45

+0

檢查編輯.. – Meherzad 2013-03-13 10:31:07

+0

這就是它!謝謝。 – sp00m 2013-03-13 11:06:42

相關問題