【问题标题】:SQL developer returns result while HQL returns errorSQL 开发人员返回结果,而 HQL 返回错误
【发布时间】:2016-05-18 13:19:14
【问题描述】:

我正在开发一个项目,我必须生成一个 HQL 查询才能在 JEE 项目中完成工作。我的 HQL 查询是:

requete.append("SELECT elec, MIN(tour.datScrutin) dat FROM HbEleElection elec, HbEleTourScrutin tour");
    requete.append(" WHERE elec.idEtaElection <> "+ cstRepository.getIdConstanteByLibelle("ETAT_ELECTION_TERMINEE"));
    requete.append(" AND elec.id = tour.idElection");
    requete.append(" AND elec.zzzDsuEng is null");
    requete.append(" GROUP BY elec.lbcElection");
    requete.append(" ORDER BY dat "); 

但结果一无所获。

我设法清理了东西,这是我的 SQL 开发人员中返回我想要的结果的 SQL 查询。

SELECT elec.lbc_election,
   MIN(tour.dat_Scrutin) dat
FROM Ele_Election elec,
     Ele_Tour_Scrutin tour
WHERE elec.id_Eta_Election <> 335
  AND elec.id_election = tour.id_Election
  AND elec.zzz_Dsu_Eng IS NULL
GROUP BY elec.lbc_Election
ORDER BY dat desc 

在使用我的 HQL 的 java 中,我收到了 HQL 的此错误:

1 net.sf.hibernate.QueryException: ,预期在 SELECT [SELECT elec, MIN(tour.datScrutin) dat FROM vdm.commun.scrutin.dao.hbbean.HbEleElection as elec, vdm.commun.scrutin.dao。 hbbean.HbEleTourScrutin tour WHERE elec.idEtaElection 335 AND elec.id = tour.idElection AND elec.zzzDsuEng 为空 GROUP BY elec.lbcElection ORDER BY dat ]

【问题讨论】:

    标签: hibernate jakarta-ee hql oracle-sqldeveloper


    【解决方案1】:

    我认为您错过了“elec.lbc_election”并尝试选择 Bean 名称,这就是错误出现的原因。试试这个查询

    requete.append("SELECT elec.lbc_election, MIN(tour.datScrutin) as dat FROM HbEleElection elec, HbEleTourScrutin tour"); requete.append(" WHERE elec.idEtaElection <> "+ cstRepository.getIdConstanteByLibelle("ETAT_ELECTION_TERMINEE")); requete.append(" AND elec.id = tour.idElection"); requete.append(" AND elec.zzzDsuEng is null"); requete.append(" GROUP BY elec.lbcElection"); requete.append(" ORDER BY dat "); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-19
      相关资源
      最近更新 更多