根据关联是否为空进行分组

时间:2012-06-20 09:13:03

标签: hibernate jpa hql criteria-api

我有一个entityA,它与entityB有多对一的可选关系。

我想在一个查询中找到entityA与entityB相关的计数和总计数。我该怎么做。

例如entityA类型的实例a1,a2,a3,a4和entityB类型的b1,b2和b3。

a1与b1有关。 a2和a3与b2有关。 a4没有关系。

所以我想要一个能给我一个结果的标准

总实体= 4 与entityB = 3相关的总实体

1 个答案:

答案 0 :(得分:0)

我可以说你正在抽象代码,但你想要这样的东西。

    Criteria criteria = session.createCriteria(EntityA.class);
    criteria.createAlias("entityBList", "entityB")
        .setProjection(Projections.rowCount())
        .add(Restrictions.eq("entityB", 3);