我有3个名为Class,Person和PersonTalent的表。如何使用HQL INNERJOIN从多个表中检索记录
1.人员有人员ID和姓名。
2.类有人名单,每个人都有上述的id。
3.PersonTalent有人员ID和人员人才名称。
现在我想根据Person Talent Name从Class中检索记录列表。 我如何在HQL INNER JOIN中实现这一点。
我已经试过这样:
SELECT DISTINCT C FROM Class C, PersonTalent PT
INNER JOIN C.persons P
WHERE P.personId = PT.personId AND (PT.personId=1 AND PT.personTalentName='HQL')
与上面的代码我得到它匹配PERSONID所有类对象,但我需要这两种人的身份证和人人才名相匹配的类对象的列表。
请帮我实现这一点。
问候, 拉哈西克哈
为什么把你“P.personId = PT.personId和(PT.personId = 1。 ..)“这种personId将永远是1 –
试试这个:DISTINCT C从类C JOIN C.persons P,PersonTalent PT WHERE P.personId = PT.personId和PT.personTalentName ='HQL' –
@angel_navarro我想具有人才“HQL”以及人员ID匹配的人也是如此。 –