java – Hibernate HQL计数不一样不行?

前端之家收集整理的这篇文章主要介绍了java – Hibernate HQL计数不一样不行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下类:
class User {
  hasMany = [ratings: Rating] 
} 

class Item {
 hasMany = [ratings: Rating]
}

class Rating {
 belongsTo = [user: User,item: Item]
}

我想计算在一个项目上评分的不同用户.

以下内容不起作用:

select count(distinct(r.user)) from Rating as r
        where r.item=:item
        group by r.user

如何修改HQL查询以使其正常工作?

解决方法

您的查询应按预期工作,对您使用distinct的方式进行小幅修改
select count(distinct r.user) from Rating as r 
where r.item = :item group by r.user

执行此查询的其他更长时间的方法是使用用户和连接:

select count(distinct u) from User as u 
inner join u.ratings as r where r.item = :item
group by r.user
原文链接:/java/121902.html

猜你在找的Java相关文章