问题
An employer has many employees (a one-to-many relationship). Here is how I select the employees for a given :employer
:
select employer.employees
from Employer employer
where employer = :employer
I would like to filter the results to get only the employees which gender
field is m
. How could I achieve this using HQL? Is there any clause that I haven't noticed in the doc?
Ideally, something like:
and employer.employees.gender = 'm'
Or:
and each(employer.employees).gender = 'm'
回答1:
Try this query
SELECT ey.name
FROM Employer employer
LEFT JOIN employer.employees ey
WHERE ey.gender = 'm' AND employer = :employer
Hope this helps.
来源:https://stackoverflow.com/questions/15381928/where-employer-employees-gender-m-or-how-to-filter-a-list-of-items-on-a-fie