Hibernate Native SQL Query для извлечения нескольких объектов в соединении
Обращаясь с этим ответом к этой взаимосвязанной теме, трюк, опубликованный ehrhardt, работает отлично.
Но что мне делать, если мне нужно объединить несколько объектов? например:
List<Person> peopleWithBooks = session.createSQLQuery(
"select {p.*}, {b.*}, {m.*} from person p, book b, magazine m where <complicated join>")
.addEntity("p", Person.class)
.addJoin("b", "p.books")
.addJoin("m", "p.magazines")
.addEntity("p", Person.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
Hibernate объединяет сразу первое соединение, но не второе (сущности журнала не группируются).
Есть какие-то хитрости или есть предел для объединения только с одной коррелированной сущностью? А если мне нужно объединиться с сущностями, у которых есть дочерние сущности? (моя цель - извлечь все выбранные данные с помощью только одного пользовательского запроса)