Bonjour,
J'ai 3 objets liés : A contenant un attribut de classe B (relation 0,n, mappée en one-to-many), contenant lui-même un attribut de classe C (relation de cardinalité 1).
Je cherche à lire tous les objets A, y compris ceux pour lesquels B est null.
Voici de qu'on trouve dans la méthode de recherche :
Le hic, c'est que la méthode ne me retourne pas les éléments A pour lesquels B est null, et ce malgré la jointure externe. J'ai essayé avec un FULL_JOIN sans plus de succès, et avec des setFetchMode différents également.
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 public List<A> findListeAPourUnProfil(CriteresRechercheA leCritereRechercheA) { DetachedCriteria criteria = DetachedCriteria.forClass(A.class); criteria.createAlias("b", "bb", CriteriaSpecification.LEFT_JOIN); criteria.createAlias("bb.c", "c", CriteriaSpecification.LEFT_JOIN); criteria.add(Restrictions.eq("bb.c", leCritereRechercheA.getC())); List<A> listA = getHibernateTemplate().findByCriteria(criteria); return listAAfficher; }
Y a t-il un moyen autre que le HQL ou un sous-select pour palier ce problème?
D'avance, merci.
Thomas
Partager