Hibernate Criteria with projection:如何分组/获取主要实体?

时间:2018-01-10 11:30:55

标签: java hibernate hibernate-criteria

我有Entity类映射了与AnotherEntity类的1-N关联,我想执行查询以获取具有一些限制的实体以及最大n属性与它们相关联的AnotherEntity个对象。

目前,我有以下代码:

Criteria c = session.createCriteria(Entity.class, "e");
c.createAlias("e.anotherEntitySet", "otherEntities");
c.add(Restrictions.eq("someEntityProperty", someEntityPropertyValue));
ProjectionList projectionList = Projections.projectionList();
projectionList.add(Projections.max("otherEntities.n"));
projectionList.add(Projections.groupProperty("pk"));
c.setProjection(projectionList);
List resultList = c.list();

问题是resultListObject[]元素填充,其中包含实体的最大npk属性。虽然我想要最大n,但我不想只有pk属性:我想要整个Entity对象。

如何获取它们,并在此过程中仍然执行单个查询?

0 个答案:

没有答案