我在获取相关实体对象列表作为条件表达式的结果时遇到问题。我有两个具有多对多关系的对象,例如 ObjectA <-> ObjectB,其中 ObjectA 的单个实例可以绑定(bind)到 ObjectB 的多个实例,而 ObjectB 的实例可以绑定(bind)到 ObjectA 的多个实例。此关系存储在典型的联接表中,但由于遗留原因,对象模型使得 ObjectB 无法直接了解它与 ObjectA 的关系。我正在尝试创建一个条件表达式,以通过连接表对象获取与任何 ObjectA 相关的所有实例 ObjectB,其中包含以下内容:
getDetachedCriteria(ObjectAObjectB.class)
.setFetchMode("objectB", FetchMode.JOIN)
.setProjection(Projections.property("objectB"));
然而,这并没有按预期工作,因为投影 API 似乎只支持投影标量属性,而不支持实体对象。是否可以通过 Projections 或其他 Criteria API 指定这种类型的选择?
最佳答案
您无法使用 Hibernate Criteria API 来做到这一点。可以在 HQL 或 JPA2 Criteria API 中使用,但不能使用 Hibernate Criteria API。
关于java - 从与 Hibernate Criteria 的关系投影实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14970524/