bon il semble que ce soit à cause de ma clause order by
qdef.orderBy(queryBuilder.asc(personne.get("entreprise").get("nom"), queryBuilder.asc(personne.get("nom"));
Cette instruction génére le cross join.
J'ai donc remplacé le Fetch par un Join comme ceci :
Join<Personne, Entreprise> ent = personne.join("entreprise", JoinType.LEFT);
et j'ai modifié la clause order by en comme suit :
qdef.orderBy(queryBuilder.asc(ent .get("nom"), queryBuilder.asc(personne.get("nom"));
Je n'ai plus le cross join, par contre je n'ai plus les informations de Entreprise sur mon bean Personne.
J'ai donc remis le fetch tout en laissant le join.
et de fait j'ai deux fois l'instruction left outer join dans ma requête.
je ne comprends pas ce qui ne va pas dans mon code.
D'avance merci de vos lumières.
HadanMarv
Partager