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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
java.lang.ClassCastException: org.hibernate.criterion.PropertyProjection cannot be cast to org.hibernate.criterion.Criterion
J'ai importé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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