我需要从超类属性加入到它的子类实体(使用JOINED继承)。试过这样的事情:
root.join(RootClass_.superClassAttribute).as(SubClass.class)
...并且需要通过从子类加入到其他实体来继续这一点。
但是as
正在返回CastFunction
,所以不确定这是怎么回事?
(注意:我使用的是JPA 2.0,而不是2.1,所以不能使用treat
。)
答案 0 :(得分:0)
最后,我通过反过来构建查询来实现它 - 所以不是尝试加入子类,而只是使用父元模型类:
inverseRoot.join(InverseRootClass_.subClassAttribute).join(ParentClass.attribute)...
这适用于我的用例,但预计可能仍有一些问题需要更好的答案 - 例如所需的连接集包括儿童和父母。