Bonjour,

dans le cadre d'une appli Web, j'utilise Hibernate et HQL, son langage de requêtage.

J'ai un problème que je ne parviens pas à résoudre alors qu'il semble simple a priori :

Je souhaite extraire les données d'une table (qui correspond à un objet A) avec une jointure sur une autre table (objet B) et, surtout, compter le nombre de fois que chaque B apparait.
-> ceci implique que mes objets sont liés entre eux dans mes classes

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
MaClasseA {
  private String attribut1;
  private MaClasseB attribut2;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
MaClasseB {
  private int attribut1;
  ...
}

En HQL la requête serait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select a from ObjetA as a left join fetch a.attribut2 as b
Et normalement, pour compter, elle devrait devenir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
select a, count(b) from ObjetA as a left join fetch a.attribut2 as b
Primo : Actuellement, je ne parviens pas à faire tourner cette requête alors que je suis assez scrupuleusement les différentes sources que j'ai trouvé sur le web. Est-ce que quelqu'un voit une erreur ?
Deuxio : la requête va me renvoyer une liste. Normalement, pour afficher le contenu de cette liste dans ma page Web avec JSTL, je vais nommer cette liste avec un setAttribute("MaListe", maListe) puis interroger chaque attribut de la façon suivante : ${MaListe.attribut1}, etc.
--> comment récupérer les valeurs issues du comptage de la requête ? comment se nomme cet attribut ? J'ai essayé "count" mais ça ne fonctionne pas.

Merci d'avance à ceux qui connaissent HQL pour leur aide bienveillante.