Hibernate JPA左连接和计数

Hibernate JPA左连接和计数,hibernate,jpa,count,left-join,named-query,Hibernate,Jpa,Count,Left Join,Named Query,我想从数据库中检索所有Foo对象,以及每个Foo对象的关联条对象的数量(零个或更多)。我想在一个查询中执行此操作,我不想仅仅为了获取条形图对象的大小而获取条形图对象列表 以下方法可行,但显然只返回具有匹配条对象的Foo对象: @NamedQuery(name = "Foo.findAndCountBars", query = " SELECT new com.test.MyResultContainer(f, COUNT(b.id)) FROM Foo f, Bar b

我想从数据库中检索所有Foo对象,以及每个Foo对象的关联条对象的数量(零个或更多)。我想在一个查询中执行此操作,我不想仅仅为了获取条形图对象的大小而获取条形图对象列表

以下方法可行,但显然只返回具有匹配条对象的Foo对象:

@NamedQuery(name = "Foo.findAndCountBars", query = "
    SELECT new com.test.MyResultContainer(f, COUNT(b.id))
    FROM Foo f, Bar b
    WHERE f.uniqueKey = b.uniqueKey
    GROUP BY f.id
")
请注意,Foo和Bar不是通过主键连接的。以下是我想要实现的目标(没有明确的关系,例如
Foo
中的
@OneToMany
):

我尝试了不同的语法变体,但基本上Eclipse告诉我,
b.id
是未知的,因为
Bar
不在
FROM
子句中。我该怎么做

@NamedQuery(name = "Foo.findAndCountBars", query = "
    SELECT new com.test.MyResultContainer(f, COUNT(b.id))
    FROM Foo f LEFT JOIN Bar b
    ON f.uniqueKey = b.uniqueKey
    GROUP BY f.id
")