如何在Hibernate / JPA 2.0 CriteriaQuery中加入JOINED子类?

时间:2016-09-09 10:44:47

标签: java hibernate jpa inheritance hibernate-criteria

我需要从超类属性加入到它的子类实体(使用JOINED继承)。试过这样的事情:

root.join(RootClass_.superClassAttribute).as(SubClass.class)

...并且需要通过从子类加入到其他实体来继续这一点。 但是as正在返回CastFunction,所以不确定这是怎么回事?

(注意:我使用的是JPA 2.0,而不是2.1,所以不能使用treat。)

1 个答案:

答案 0 :(得分:0)

最后,我通过反过来构建查询来实现它 - 所以不是尝试加入子类,而只是使用父元模型类:

inverseRoot.join(InverseRootClass_.subClassAttribute).join(ParentClass.attribute)...

这适用于我的用例,但预计可能仍有一些问题需要更好的答案 - 例如所需的连接集包括儿童和父母。