J’ai une petite question JPQL et je cherche la meilleure façon de faire ça.

Les requêtes JPQL sont en général assez simples et portent sur une seule entité mais moi je veux récupérer plusieurs entités (Catalogue, Produit, Article) et itérer dessus :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
List resultats = (List)em.createQuery("SELECT c, d, e FROM Catalogue c, Produit p, Article a where c.id=p.catalogue_fk and p.id=a.produit_fk").getResultList(); 
 
Iterator iter = resultats.iterator();
 
while (iter.hasNext()) {
 
            …
 
}
Je n’ai pas encore regardé en détails, mais la liste se présente comment en mémoire ?

{((Catalogue1), (Produit1), (Article1)), ((Catalogue2), (Produit2), (Article2)), … } ???

Je veux par exemple afficher ce tableau :

NomCatalogue – NomProduit – NomArticle

nomCat1 nomProd1 nomArt1
nomCat2 nomProd2 nomArt2
nomCat3 nomProd3 nomArt3

avec
nomCatalogue : Catalogue.getName() …
nomProduit : Produit.getName() …
nomArticle : Article.getName() …