Jointures externes et objet null dans la relation
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 :
Code:
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;
} |
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.
Y a t-il un moyen autre que le HQL ou un sous-select pour palier ce problème?
D'avance, merci.
Thomas