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.

Respuestas a la pregunta(2)

Su respuesta a la pregunta