java - 从与 Hibernate Criteria 的关系投影实体

标签 java hibernate criteria-api

我在获取相关实体对象列表作为条件表达式的结果时遇到问题。我有两个具有多对多关系的对象,例如 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/

相关文章:

java - 只需使用 FK 列而不是相关实体的 ID 即可消除 JPA 查询中的额外联接

java - "process information unavailable", linux 中的 jps 命令

java - RESTful 服务契约

java.lang.NoClassDefFoundError : javax/servlet/ServletContext 错误

java applet RuntimeException Java.lang.InitationTargetException

java - 使用@MapsId 在双向@OneToOne 上级联

hibernate - 为什么 hibernate 在 SAVE 之前执行 SELECT?

hibernate - 如何使用最新的库(Spring 3,Hibernate 4,Maven 3)实现独立的GORM?

java - JPA Criteria API IN 表达式 参数列表

java - 它需要在 Criteria API 中创建带有日期的谓词,但仍然出现异常。如何构建这样的谓词?