Estoy haciendo una UNIÓN EXTERIOR IZQUIERDA, pero solo puedo aplicar Restricciones en la primera tabla. ¿Hay alguna manera de aplicar en la segunda mesa también?Criterios de Hibernación: Izquierda Exterior Unir con restricciones en ambas tablas
Aquí está mi código:
Criteria criteria = this.crudService
.initializeCriteria(Applicant.class).setFetchMode("products",
FetchMode.JOIN);.
esto funciona (solicitante tiene una propiedad applicantName):
criteria.add(Restrictions.eq("applicantName", "Markos")
Ninguna de estas obras (producto tiene una propiedad productName)
criteria.add(Restrictions.eq("productName", "product1")
criteria.add (Restrictions.eq ("products.productName", "product1") // productos: el nombre de la propiedad criteria.add (Restrictions.eq ("Product.productName", "product1") // Producto: el nombre de la tabla DB
Y esta es la excepción que recibo diciendo (si entiendo correctamente) que la productName propiedad no existe en solicitante:
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
he intentado utilizar un alias, pero esto genera un INNER JOIN, en lugar de la combinación externa izquierda que quiero.
¿Cómo puedo aplicar restricciones en ambas tablas?
ACTUALIZACIÓN:
tema es probablemente el mismo que esto: https://forum.hibernate.org/viewtopic.php?p=2393694