如何使用两个表和LEFT JOIN将SQL查询转换为HQL查询

时间:2017-03-16 12:24:09

标签: mysql sql hibernate hql

当我尝试将SQL查询转换为HQL时,我遇到了问题。

SQL查询

SELECT RahHistoSaipAcogida.numicu, RahHistoSaipAcogida.fecharealiza, TaSaip.tipo_descri AS [Tipo Acogida], RahHistoSaipAcogida.paccomunica, RahHistoSaipAcogida.presentación, RahHistoSaipAcogida.infohlp, RahHistoSaipAcogida.infovolant, RahHistoSaipAcogida.infoddp, RahHistoSaipAcogida.observaciones, RahHistoSaipAcogida.nom_prof, RahHistoSaipAcogida.autoriza_informacion
FROM RahHistoSaipAcogida
LEFT JOIN TaSaip ON RahHistoSaipAcogida = TaSaip.tipo_codi
WHERE RahHistoSaipAcogida.fecharealiza BETWEEN :desde AND :hasta

HQL查询

session1.createQuery("FROM RahHistoSaipAcogida acog, TaSaip ts LEFT JOIN ts ON acog.tipo = ts.tipo_codi WHERE acog.fecharealiza BETWEEN :desde AND :hasta")
                .setParameter("desde", fechadesde)
                .setParameter("hasta", fechahasta);

栈跟踪

  

错误:加入的路径!加入的预期路径!

如果有人能帮助我,我将非常感激。谢谢

1 个答案:

答案 0 :(得分:1)

您的查询必须如下:

FROM RahHistoSaipAcogida acog LEFT JOIN acog.ts  WHERE acog.fecharealiza BETWEEN :desde AND :hasta

您处理的是对象,而不是表格上的属性