一尘不染

从与hibernate条件的关系中投影实体

hibernate

我很难获得标准表达式的结果相关实体对象的列表。我有两个具有多对多关系的对象,例如ObjectA <->
ObjectB,其中ObjectA的单个实例可以绑定到ObjectB的多个实例,而ObjectB的实例可以绑定到ObjectA的多个实例。该关系存储在您的典型联接表中,但是由于遗留原因,对象模型是这样的,因此ObjectB无法直接知道其与ObjectA的关系。我正在尝试创建一个条件表达式,以通过以下连接表对象获取与任何ObjectA相关的所有实例ObjectB:

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

但是,这无法按预期方式工作,因为Projection
API似乎仅支持投影标量属性,而不支持实体对象。是否可以通过Projections或其他一些Criteria API指定这种选择类型?


阅读 213

收藏
2020-06-20

共1个答案

一尘不染

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

2020-06-20