2016-05-18 99 views
0

我正在一个项目中,我必须生成一个HQL查询以在JEE项目中完成任务。我的HQL查询是:SQL开发人员返回结果,而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:,预计将在选择[选择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]

回答

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