我有两个实体 Category
, Subscriber
。Subscriber
在Category
上具有参考(给定类别,即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
。如何在Criteria
投影中添加Subscriber
?
我猜您正在寻找的是实体图。
https://thoughts-on-java.org/jpa-21-entity-graph-part-part-part-1-named-entity/
上面的链接给出了JPA 2.1中的一个示例,但是根据您的代码,您似乎在Hibernate 4上。如果您拥有豪华,也许是时候升级了。