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

时间:2013-07-02 11:03:06

标签: java hibernate native-sql

使用this回复this相关帖子, 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会聚合第一个连接,但不聚合第二个连接(杂志实体未分组)。

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

0 个答案:

没有答案