2012-03-18 69 views
1

我得到2个实体(ModTopScope和ModInstallResults)与一对许多关系JPA2 namedquery算空集麻烦

和NamedQuery:

@NamedQuery(name="ModTopScope.getScopesForActiveSystems", 
     query="SELECT s, COUNT(s.modInstallResults) FROM ModTopScope s LEFT JOIN FETCH s.modInstallResults " + 
       "WHERE s.modScopeType.modSystem.activated = true " + 
       "GROUP BY s " + 
       "ORDER BY COUNT(s.modInstallResults) DESC") 

这是好的,但也有在没有记录ModTopScope的查询结果列表,它们在ModInstallResults表中没有对应的记录。我该如何解决它?

的本地SQL,即选择记录,这在mod_install_resutls表中没有相应的记录:

select s.id, count(i.id) from mod_top_scopes s left join mod_install_results i on s.id=i.scope_id group by s.id order by count(i.id) 
+0

OK,最后我写了正确的querym我写了评论,因为我是新的网站,我的名声还不足以回答这个问题+) SELECT DISTINCT s,COUNT(i)FROM ModTopScope s LEFT JOIN s .modInstallResults我 “+ \t \t \t \t \t ”WHERE s.modScopeType.modSystem.activated =真“ + \t \t \t \t \t ”GROUP BY的“ + \t \t \t \t \t” ORDER BY COUNT(ⅰ)DESC – Andrey 2012-03-18 20:04:09

回答

0

OK,最后我写的正确querym我写评论,

SELECT DISTINCT s, COUNT(i) FROM ModTopScope s LEFT JOIN s.modInstallResults i " + "WHERE s.modScopeType.modSystem.activated = true " + "GROUP BY s " + "ORDER BY COUNT(i) DESC