Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2011, 06:31
Javielo
 
Fecha de Ingreso: enero-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Duda al realizar Join con Criteria

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 :)