休眠条件-投影中的多个实体类型

时间:2019-07-31 14:03:21

标签: java hibernate hibernate-criteria

我有两个实体CategorySubscriberSubscriberCategory上具有参考(给定类别(即1对1)只能有一个订户)。在HQL中,我可以使用LEFT JOIN选择所有类别及其订阅者(如果有的话)(投影:类别,可为空的订阅者,即SELECT category, subscriber)。

我想将此内容重写为Criteria。由于我只能从Subscriber导航到Category,因此我必须使用RIGHT JOIN

 Criteria c = getSession()
            .createCriteria(Subscriber.class, subscriberAlias)
            .createAlias("category", JoinType.RIGHT_OUTER_JOIN);

这样,结果集仅包含Category。如何在Subscriber投影中添加Criteria

1 个答案:

答案 0 :(得分:0)

我猜您正在寻找的是实体图。

https://thoughts-on-java.org/jpa-21-entity-graph-part-1-named-entity/

上面的链接给出了jpa 2.1中的示例,但是通过您提供的代码,您看起来像在休眠4。如果您拥有豪华的话,也许是时候升级了。