Je fais une jointure gauche, mais je ne peux appliquer des restrictions sur la première table. Existe-t-il un moyen de l'appliquer sur la deuxième table?Hibernate Critères: Left Outer Join avec des restrictions sur les deux tables
Voici mon code:
Criteria criteria = this.crudService
.initializeCriteria(Applicant.class).setFetchMode("products",
FetchMode.JOIN);.
Cela fonctionne (le demandeur possède une propriété applicantName):
criteria.add(Restrictions.eq("applicantName", "Markos")
Aucune de ces œuvres (produit possède une propriété productName)
criteria.add(Restrictions.eq("productName", "product1")
criteria.add (Restrictions.eq ("products.productName", "product1") // products: le nom de la propriété criteria.add (Restrictions.eq ("Product.productName", "product1") // Produit: le nom de la table DB
Et c'est l'exception que je reçois en disant (si je comprends bien) que le la propriété productName n'existe pas demandeur:
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 ce changement a INNER JOIN, au lieu de la gauche OUTER JOIN je veux.
Comment puis-je appliquer des restrictions sur les deux tables?
MISE À JOUR:
problème est probablement la même que celle-ci: https://forum.hibernate.org/viewtopic.php?p=2393694