我是 hibernate 用户才几天,就遇到了一个问题。
我不知道如何将此 SQL 查询转换为 HQL:
SELECT name, street, city, description
, (SELECT AVG(rate)
FROM user_restaurant_rating
WHERE user_restaurant_rating.restaurant_id = restaurants.id) AS rate
FROM restaurants
ORDER BY rate DESC
LIMIT 0,3
我读过一些教程,但还没有找到如何翻译它。
提前谢谢您。
最佳答案
The Hibernate reference表示支持 select 子句中的子选择。因此你应该能够写
select r.name, r.street, r.city, r.description, (select avg(ur.rate) from UserRestaurantRating ur where ur.restaurant.id = r.id) rate from Restaurant r order by rate desc
关于java - 从SQL查询转化为HQL查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6121818/