我正在使用HibernateMysql上工作,其中我有三个表


个人资料
员工细节
主记录


我在这


Employeedetails is referenced from PersonaldetailsMasterrecord is referenced from Employeedetails
但请注意,Masterrecord is not directly link from Personaldetails


我已附上以下结构格式



我的问题是:

我需要从个人详细信息访问主记录记录

对于以下查询不起作用

select a.fname,a.employeedetails.empId,a.employeedetails.masterrecord.deptCode from pojo.Personaldetails as a


我已经在Eclipse HQL编辑器中尝试过此操作,但无法正常工作,返回如下


我对此还有其他建议吗?

最佳答案

尝试这个

SELECT m.* From Masterrecord AS m
         LEFT JOIN  Employeedetails AS e ON e.DeotCode = m.DeotCode
         LEFT JOIN  Personaldetails AS p ON p.Refld = e.Refld
          GROUP BY p.Refld


这仅获得Masterrecord表值。如果您需要相同的where条件

SELECT m.* From Masterrecord AS m
             LEFT JOIN  Employeedetails AS e ON e.DeotCode = m.DeotCode
             LEFT JOIN  Personaldetails AS p ON p.Refld = e.Refld WHERE p.Refld = 101
              GROUP BY p.Refld

10-06 09:12