Buenos días a tod@s,
Estoy intentado realizar la siguiente consulta:
Código:
SELECT distinct uno.propiedad1 FROM tabla1 uno
LEFT JOIN tabla2 ON tabla2.propiedad1 = uno.propiedad1
LEFT JOIN tabla3 ON tabla3.propiedad1 = uno.propiedad1
WHERE tabla3.propiedad2 = 3
Hasta aqui todo bien, me realiza los join de las 3 tablas con la propiedad1:
Código:
DetachedCriteria crit = getDetachedCriteria(Tabla1.class);
crit.setFetchMode("Tabla2.propiedad1", FetchMode.JOIN).setFetchMode("Tabla3.propiedad1", FetchMode.JOIN).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
El problema viene cuando especificar que la propiedad2 de la
Tabla3 sea igual a cierta cantidad, en este caso 3,
Código:
crit.setFetchMode("Tabla2.propiedad1", FetchMode.JOIN).setFetchMode("Tabla3.propiedad1", FetchMode.JOIN).add(Restrictions.eq("Tabla3.propiedad2", 3)).setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
Me da el siguiente error:
¿Alguna ayuda porfavor?
Saludos y gracias :)