Bonjour,
Désolée de vous embêter avec çà, mais je suis confronté à un problème et je n'arrive pas à le résoudre, comment vous vous en doutez.
J’essaie de récupérer une liste d'informations, informations devant être groupées par idPersonne afin d'éviter les doublons.
Ma requête SQL est de ce type :
1 2 3 4
| SELECT *
FROM perssemainecompt
WHERE idSemaine =538
GROUP BY idPersonne |
Donc j'ai développé cette méthode pour pouvoir avoir les informations :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public List<PersSemaineComptDTO> getListPersSemaineComptByIdSemaine(SemaineDTO semaineDto){
List<PersSemaineComptDTO> persSemaineComptDTOs = new ArrayList<PersSemaineComptDTO>();
DetachedCriteria criteria = DetachedCriteria.forClass(Perssemainecompt.class);
criteria.add(Restrictions.eq("semaine", semaineDto.getSemaineBeanFromDTO()));
criteria.add( (Criterion) Projections.groupProperty("idPersonne") );
Semaine semaineBean = semaineDto.getSemaineBeanFromDTO();
List<Perssemainecompt> persSemaineCompts = this.persSemaineComptDao.getPersSemainecomptBeanByCriteria(criteria);
for (Perssemainecompt persSemaineComptBean : persSemaineCompts){
PersSemaineComptDTO PersSemaineComptDto = new PersSemaineComptDTO(persSemaineComptBean);
System.out.println("je suis dans getListPersSemaineComptByIdSemaine ");
//On récupére le compteur relatif à cette table
CompteurDTO compteurDto = this.compteurService.getCompteurById(persSemaineComptBean.getCompteur().getIdCompteur());
PersSemaineComptDto.setCompteurDto(compteurDto);
PersonneDTO personneDto = this.personneService.getPersonnebyId(persSemaineComptBean.getPersonne().getIdPersonne());
PersSemaineComptDto.setPersonneDto(personneDto);
persSemaineComptDTOs.add(PersSemaineComptDto);
}
return persSemaineComptDTOs;
} |
Or j'ai ce message d'erreur :
java.lang.ClassCastException: org.hibernate.criterion.PropertyProjection cannot be cast to org.hibernate.criterion.Criterion
J'ai importé :
1 2 3 4 5 6
| import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.hql.classic.GroupByParser; |
Pourriez vous me dire où se trouve le problème s'il vous plait, et comment le résoudre.
Je vous en remercie d'avance
Partager