参考这个相关线程的答案, 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 聚合第一个连接,但不聚合第二个(杂志实体未分组)。
有什么技巧,或者有限制只加入一个相关实体?如果我必须加入具有子实体的实体?(我的目标是只用一个自定义查询来检索所有选定的数据)