Uso de combinaciones izquierdas en HQL en 3 tablas
Tengo tres tablas A B y C. Ahora quiero ejecutar esta consulta de SQL en HQL:
select * from A as a
left join
B as b
on
a.id = b.id
left join
C as c
on
b.type=c.type;
¿Necesitas ayuda en escribir HQL equivalente. He intentado con este HQL ...
Query q = session.createQuery(
"FROM A as a
LEFT JOIN
B as b
on
a.id=b.id
LEFT JOIN
C as c
on
b.type=c.type");
Esta consulta está lanzando excepción .....
org.hibernate.hql.ast.QuerySyntaxError: token inesperado: IZQUIERDA cerca de la línea 1, columna 23 [FROM com.admin.A como LEFT JOIN B como b donde a.Id = b.Id IEFT JOIN C como c donde b. type = c.type] en org.hibernate.hql.ast.ErrorCounter.throwQueryException (ErrorCounter.java:74) en org.hibernate.hql.ast.QueryTranslatorImpl.parse (QueryTranslatorImpl.java:214) en org.hibernate.hql .ast.QueryTranslatorImpl.doCompile (QueryTranslatorImpl.java:127) en org.hibernate.hql.ast.QueryTranslatorImpl.compile (QueryTranslatorImpl.java:83) en org.hibernate.impl.SessionFactoryImpl.getQuery (Session).
También probé con las cláusulas "with" y "on" en lugar de donde ... Recibo el mismo token inesperado en "on" o "with"
excepción qith ON .....
org.hibernate.hql.ast.QuerySyntaxError: token inesperado: ON cerca de la línea 1, columna 41 [FROM com.admin.A como IZQUIERDA JUNTA B como b en a.Id = b.Id IEFT JOIN C como c onb.type = c.type] en org.hibernate.hql.ast.ErrorCounter.throwQueryException (ErrorCounter.java:74) en org.hibernate.hql.ast.QueryTranslatorImpl.parse (QueryTranslatorImpl.java:214) en org.hibernate.hql. ast.QueryTranslatorImpl.doCompile (QueryTranslatorImpl.java:127) en org.hibernate.hql.ast.QueryTranslatorImpl.compile (QueryTranslatorImpl.java:83) en org.hibernate.impl.SessionFactoryImpl.getQuery (SessionFactory.pl.).
También probé con las cláusulas "con" en lugar de donde ... Recibo el mismo token inesperado o "con"
excepción qith CON .....
org.hibernate.hql.ast.QuerySyntaxError: token inesperado: ON cerca de la línea 1, columna 41 [FROM com.admin.A como IZQUIERDA JUNTA B como b en a.Id = b.Id IEFT JOIN C como c onb.type = c.type] en org.hibernate.hql.ast.ErrorCounter.throwQueryException (ErrorCounter.java:74) en org.hibernate.hql.ast.QueryTranslatorImpl.parse (QueryTranslatorImpl.java:214) en org.hibernate.hql. ast.QueryTranslatorImpl.doCompile (QueryTranslatorImpl.java:127) en org.hibernate.hql.ast.QueryTranslatorImpl.compile (QueryTranslatorImpl.java:83) en org.hibernate.impl.SessionFactoryImpl.getQuery (SessionFactory.pl.).
Por favor ayuda.