我有两个实体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
。如何在Subscriber
投影中添加Criteria
?
答案 0 :(得分:0)
我猜您正在寻找的是实体图。
https://thoughts-on-java.org/jpa-21-entity-graph-part-1-named-entity/
上面的链接给出了jpa 2.1中的示例,但是通过您提供的代码,您看起来像在休眠4。如果您拥有豪华的话,也许是时候升级了。