SQL 开发人员 returns 结果而 HQL returns 错误

SQL developer returns result while HQL returns error

我正在做一个项目,我必须生成一个 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 

在 java 中使用我的 HQL 我得到了 HQL 的这个错误:

1 net.sf.hibernate.QueryException: , expected in 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 is null GROUP BY elec.lbcElection ORDER BY dat ]

我想你错过了 'elec.lbc_election' 并试图 select Bean 名称,这就是为什么错误是 coming.just 试试这个查询

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 ");