使用Hibernate Criteria加入两个表

以下面的示例实体:

Entity Child {
    long id;
    String name;
    long parentKey;
}

Entity Parent {
    long id;
    String desc;
}

Hibernate Criteria查询有没有一种方法:

select * from Child c, Parent p 
         where c.parentKey = p.id and c.name = "whatever" and p.desc = "whatever"

我们主要关心的是如何在两个只与长键相关的实体中与Criteria结合

假设我们不能直接在我们的孩子中提及父母。


那么,不确定你指的是什么Hibernate版本,但是在JPA 2.0中可能有这样的情况:

String query = "SELECT c FROM Child c, Parent p WHERE c.parentId = p.id";

List<Child> children = em.createQuery(query, Child.class).getResultList();

通过这种方式,您可以根据您的自定义条件显式地进行JOIN,而不是让JPA管理它,尽管这样做完全合法。

链接地址: http://www.djcxy.com/p/37075.html

上一篇: Join two tables with Hibernate Criteria

下一篇: Hibernate Criteria query on association