从具有Hibernate条件的关系中投影实体



由于条件表达式,我在获取相关实体对象列表时遇到问题。我有两个具有多对多关系的对象,例如ObjectA<->ObjectB,其中ObjectA的单个实例可以绑定到ObjectB的多个实例,而ObjectB的一个实例可能绑定到ObjectA的多个示例。这种关系存储在典型的联接表中,但由于遗留的原因,对象模型使得ObjectB无法直接了解它与ObjectA的关系。我正试图创建一个条件表达式,通过具有以下内容的联接表对象来获取与任何ObjectA相关的所有实例ObjectB:

getDetachedCriteria(ObjectAObjectB.class)
.setFetchMode("objectB", FetchMode.JOIN)
.setProjection(Projections.property("objectB"));

然而,这并不像预期的那样工作,因为投影API似乎只支持投影标量属性,而不支持实体对象。是否可以通过预测或某些其他标准API指定这种类型的选择?

使用Hibernate Criteria API无法做到这一点。它可以在HQL或JPA2标准API中使用,但不能使用Hibernate标准API。

最新更新