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