Criterios de hibernación: unión externa izquierda con restricciones en ambas tablas

Estoy haciendo una IZQUIERDA EXTERIOR IZQUIERDA, pero solo puedo aplicar Restricciones en la primera tabla. ¿Hay alguna forma de aplicar también en la segunda tabla?

Aquí está mi código:

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

Esto funciona (el solicitante tiene una propiedad solicitante Nombre):

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

Ninguno de estos trabajos (el producto tiene una propiedad productName)

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

criterio.add (Restricciones.eq ("productos.NombreProducto", "producto1") // productos: el nombre de la propiedad criterio.add (Restricciones.eq ("Producto.NombreProducto", "producto1") // Producto: el nombre de la tabla DB

Y esta es la excepción que recibo diciendo (si entiendo correctamente) que la propiedad productName no existe en el 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

Intenté usar un alias, pero esto generó una UNIÓN INTERNA, en lugar de la UNIÓN IZQUIERDA EXTERIOR que quiero.

¿Cómo puedo aplicar restricciones en ambas tablas?

ACTUALIZAR:

El problema es probablemente el mismo que este:https://forum.hibernate.org/viewtopic.php?p=2393694

Respuestas a la pregunta(3)

Su respuesta a la pregunta