Ваш запрос является допустимым JPQL и не использует специфические функции Hibernate (пропущен только пробел между строкой и от). В спецификации JPA 2.0 (4.4.5 Joins) это объясняется следующими словами:
Внутреннее соединение может быть неявно задано с помощью декартовой
product в предложении FROM и условие соединения в предложении WHERE.
При отсутствии условия соединения это сводится к декартовой
товар.
Основным вариантом использования этого обобщенного стиля объединения является случай, когда
условие соединения не предполагает отношения внешнего ключа, которое
сопоставлены с отношениями сущности. Пример: ВЫБРАТЬ c ОТ клиента c,
Сотрудник e ГДЕ c.hatsize = e.shoesize
Основное отличие вашего запроса в том, что ваш выбор содержит два типа объектов. Результатом запроса является список объектов []. Порядок элементов в массиве такой же, как в select
заявление. Следующие работы в вашем случае:
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
}