我很难获得标准表达式的结果相关实体对象的列表。我有两个具有多对多关系的对象,例如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指定这种选择类型?
使用Hibernate Criteria API无法做到这一点。可以在HQL或JPA2 Criteria API中使用,但不能使用HibernateCriteria API。