2016-11-02 29 views
0

子句之间使用有谁能够告诉什么是在请求中的问题:如何在HQL

@Query("SELECT new com.app.gsc.entities.ListeBI(lm.listeDeCriteres.designation,count(*) as totalNumber,lm.ficheDeMission.dateEtHeurDeDepart) from ListeDeControleDetailsMission lm where lm.boolDepart=false AND Year(lm.ficheDeMission.dateEtHeurDeDepart)=:year AND Month(lm.ficheDeMission.dateEtHeurDeDepart) >= Month(lm.ficheDeMission.dateEtHeurDeDepart)=:FromMonth AND Month(lm.ficheDeMission.dateEtHeurDeDepart) <= Month(lm.ficheDeMission.dateEtHeurDeDepart)=:ToMonth GROUP BY lm.listeDeCriteres.designation") 
List<ListeBI> getIncidentDepartByFromToMonth(@Param("FromMonth") int FromMonth, @Param("ToMonth") int ToMonth, 
     @Param("year") int year); 

错误消息:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: >= near line 1, column 322 [SELECT new com.app.gsc.entities.ListeBI(lm.listeDeCriteres.designation,count(*) as totalNumber,lm.ficheDeMission.dateEtHeurDeDepart) from com.app.gsc.entities.ListeDeControleDetailsMission lm where lm.boolDepart=false AND Year(lm.ficheDeMission.dateEtHeurDeDepart)=:year AND Month(lm.ficheDeMission.dateEtHeurDeDepart) >= Month(lm.ficheDeMission.dateEtHeurDeDepart)=:FromMonth AND Month(lm.ficheDeMission.dateEtHeurDeDepart) <= Month(lm.ficheDeMission.dateEtHeurDeDepart)=:ToMonth GROUP BY lm.listeDeCriteres.designation] 

回答

0

它必须是这一部分:Month(lm.ficheDeMission.dateEtHeurDeDepart) >= Month(lm.ficheDeMission.dateEtHeurDeDepart)=:FromMonth。我会说你的3次比较存在问题。