Hibernate Critères: Jointure Externe Gauche avec des restrictions sur les deux tableaux

Je suis en train de faire une JOINTURE EXTERNE GAUCHE, mais je suis seulement en mesure d'appliquer des Restrictions sur la première table. Est-il un moyen de ti appliquer sur la seconde table?

Voici mon code:

Criteria criteria = this.crudService
        .initializeCriteria(Applicant.class).setFetchMode("products",
              FetchMode.JOIN);.

Cela fonctionne (le demandeur dispose d'un applicantName la propriété):

criteria.add(Restrictions.eq("applicantName", "Markos")

Aucune de ces œuvres (produit a une propriété productName)

criteria.add(Restrictions.eq("productName", "product1")

critères.ajouter(Restrictions.eq("produits.productName", "produit1") //produits: le nom de la propriété
les critères.ajouter(Restrictions.eq("Produit.productName", "produit1") //Produit: nom de la table DB

Et c'est l'exception, je reçois à dire (si j'ai bien compris) que le nom de la propriété n'existe pas de Déposant:

EJB Exception: ; nested exception is: org.hibernate.QueryException: could not resolve property: products.inventedName of: org.myCompany.applicant.entity.Applicant; nested exception is: org.hibernate.QueryException: could not resolve property: products.inventedName of: org.myCompany.applicant.entity.Applicant

J'ai essayé d'utiliser un alias, mais cela a généré une JOINTURE INTERNE, au lieu de la JOINTURE EXTERNE GAUCHE je veux.

Comment puis-je appliquer des restrictions sur les deux tableaux?

Mise à JOUR:

Problème est probablement le même que ceci:
https://forum.hibernate.org/viewtopic.php?p=2393694

OriginalL'auteur Markos Fragkakis | 2010-02-05