Bonjour,
Je voudrais savoir s'il est possible de faire une réelle jointure à gauche avec JPA.
j'utilise comme implémentation de JPA(2.1) EclipseLink
ma requête JPQL est la suivante
SELECT y FROM YvsBaseArticles y LEFT OUTER JOIN y.classe1 c1
le Sql généré est
1 2 3 4
| SELECT t0.id AS a1, t0.ref_art AS a2, t0.designation AS a3, t0.categorie AS a4, t0.actif AS a5, t0.date_save AS a6, t0.date_update AS a7,
t1.id AS classe
FROM classes_stat t1, articles t0
WHERE (t1.id = t0.classe1) |
au lieu de
1 2 3 4
| SELECT t0.id AS a1, t0.ref_art AS a2, t0.designation AS a3, t0.categorie AS a4, t0.actif AS a5, t0.date_save AS a6, t0.date_update AS a7,
t1.id AS classe
FROM articles t0 LEFT JOIN classes_stat t1 ON t1.id = t0.classe1
order by t1.id |
La conséquence immédiate de l'utilisation des table
FROM yvs_base_classes_stat t1,yvs_base_articles t0
et de la clause Where plutot qu'une jointure est que mon résultat ne contient pas les Articles qui n'ont pas de classe stat
Donc je voudrai savoir s'il y a un moyen de forcer le Sql généré à utiliser les Jointures
Merci d'avance pour votre aide
Partager