Su consulta es válida para JPQL y no utiliza la funcionalidad específica de Hibernate (solo falta el espacio entre la barra y desde). En JPA 2.0 especificación (4.4.5 uniones) esto se explica con palabras siguientes:
Una combinación interna puede ser especificado implícitamente por el uso de un producto cartesiano en la cláusula FROM y una condición de unión en la cláusula WHERE . En ausencia de una condición de unión, esto se reduce al producto cartesiano .
El caso de uso principal para este estilo de unión generalizado es cuando una condición de unión no implica una relación de clave externa que es asignada a una relación de entidad. Ejemplo: c SELECT FROM cliente C,
Empleado E donde c.hatsize = e.shoesize
diferencia principal a la consulta es que su seleccione contiene dos tipos de entidades. El resultado de la consulta es Lista de objetos []. El orden de los elementos en el conjunto es el mismo que en la instrucción select . Los siguientes trabajos en su caso:
String query =
"select foo, bar from FooEntity as foo, BarEntity as bar "+
"where foo.someothercol = 'foo' and foo.somecol = bar.somecol";
List<Object[]> results = em.createQuery(query).getResultList();
for (Object[] fooAndBar: results) {
FooEntity foo = (FooEntity) fooAndBar[0];
BarEntity bar = (BarEntity) fooAndBar[1];
//do something with foo and bar
}
falta el espacio entre la barra y el finalizado! –