java - 从SQL查询转化为HQL查询问题

标签 java sql hibernate hql

我是 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/

相关文章:

sql - 在 mssql 2005 中保存 DateTime 没有小时、分钟和秒

Hibernate:获取具有过滤子集合的整个层次结构

java - 用户使用 Servlet 和 Hibernate 上传图像

java - 当我运行 Codenameone 程序时,按钮未显示在模拟器中

java - 如何访问 Par.Do 转换中的管道选项?

java - 使用 ORMLite 保存 PostgreSQL 自定义枚举数据类型

sql - Access中的多个LEFT JOIN

java - InvalidClassException 不兼容的类 (SUID)

mysql - 从范围的不同区域选择行的 SQL 查询

java - 模块化网络应用程序