where employer.employees.gender = 'm', or how to filter a list of Items on a field of Item?

自作多情 提交于 2019-12-08 05:30:00

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!