2016-05-18 11 views
0

zurückgibt Ich arbeite an einem Projekt, wo ich eine HQL-Abfrage generieren muss, um die Sache im JEE-Projekt zu erledigen. Meine HQL-Abfrage ist:SQL Developer gibt das Ergebnis zurück, während HQL den Fehler

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

aber nichts als Ergebnis erhalten.

Ich habe es geschafft, Dinge zu säubern, und das ist die SQL-Abfrage in meinem SQL-Entwickler, der die Ergebnisse zurückgibt, die ich will.

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 

in Java mit meinem HQL bekam ich diese Fehlermeldung für die HQL:

1 net.sf.hibernate.QueryException: in SELECT erwartet [SELECT elec, MIN (tour.datScrutin) dat FROM vdm.commun.scrutin.dao.hbbean.HbEleElection als elec, vdm.commun.scrutin.dao.hbbean.HbEleTourScrutin-Tour WHERE elec.idEtaElection <> 335 UND elec.id = tour.idElection UND elec.zzzDsuEng ist null GROUP BY elec.lbcElection ORDER BY dat]

Antwort

1

Ich denke Sie verpasste "elec.lbc_election" und versuchte, den Bean-Namen zu wählen, deshalb kommt der Fehler. Versuchen Sie einfach diese Abfrage

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