2010-04-06 41 views

回答

1

你可以做到,但它需要两个查询。这是因为要按集合的大小排序,您需要使用“分组依据”,但这需要您枚举所有主题属性。如果您添加或删除一个查询将会中断。所以,解决的办法就是运行一个查询发现下令IDS,第二是获取实例为这些ID:

String hql = ''' 
SELECT t.id 
FROM Topic t LEFT JOIN t.posts AS post 
GROUP BY t.id 
ORDER BY COUNT(post) DESC 
''' 
def ids = Topic.executeQuery(hql) 
def orderedTopics = Topic.getAll(ids)