【问题标题】:How to convert SQL query to HQL query with two tables and LEFT JOIN如何使用两个表和 LEFT JOIN 将 SQL 查询转换为 HQL 查询
【发布时间】:2017-03-16 12:24:08
【问题描述】:

我在尝试将 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);

堆栈跟踪

错误:需要加入的路径!期望加入的路径!

如果有人可以帮助我,我将不胜感激。谢谢

【问题讨论】:

  • 显示您的实体

标签: mysql sql hibernate hql


【解决方案1】:

您的查询必须如下所示:

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

您正在处理对象以及不在表格上的属性

【讨论】:

  • 本例中不需要LEFT JOIN。
  • @v.ladynev 为什么你这么认为?
  • 没有使用。
  • @v.ladynev 你为什么这么认为?它在输出中使用!
  • 我们会有什么输出?
猜你喜欢
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
相关资源
最近更新 更多