Hibernate Native SQL Query在连接中检索多个实体

引用这个相关线程的答案,ehrhardt发布的技巧很好。

但是,如果我必须加入多个实体,我必须做什么? 例如:

List peopleWithBooks = session.createSQLQuery( "select {p.*}, {b.*}, {m.*} from person p, book b, magazine m where ") .addEntity("p", Person.class) .addJoin("b", "p.books") .addJoin("m", "p.magazines") .addEntity("p", Person.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .list(); 

Hibernate会聚合第一个连接,但不聚合第二个连接(杂志实体未分组)。

有任何技巧或只有一个相关实体加入是有限制的吗? 如果我必须加入具有子实体的实体? (我的目标是只用一个自定义查询检索所有选定的数据)