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 ce qu'on trouve dans la méthode de recherche :
Code:
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 et bonne journée à tous.
Thomas