java - 将sql查询转换为hql

标签 java mysql sql hibernate hql

SELECT recipe.name,SUM(salesdetails.quantity::integer),recipe.price As Quantity 
FROM (salesinfo JOIN salesdetails ON salesinfo.sessionid=salesdetails.salesinfo_sessionid) 
JOIN recipe ON salesdetails.recipe_id=recipe.id group by salesdetails.recipe_id,recipe.name,recipe.price 
ORDER BY SUM(salesdetails.quantity::integer) DESC;

谁能给我这个的 hql 查询吗?

最佳答案

如果您不熟悉 HQL 并且想要使用相同的查询,那么您可以使用 Hibernate 的 native 查询功能来完成,如下所示:

@QUERY(value="SELECT recipe.name, SUM(salesdetails.quantity:: 
INTEGER),recipe.price AS Quantity
FROM (salesinfo
JOIN salesdetails ON salesinfo.sessionid=salesdetails.salesinfo_sessionid)
JOIN recipe ON salesdetails.recipe_id=recipe.id
GROUP BY salesdetails.recipe_id,recipe.name,recipe.price
ORDER BY SUM(salesdetails.quantity:: INTEGER) DESC", nativeQuery = TRUE)

但我建议您首先尝试将其转换为 HQL 查询,然后如果出现任何问题,您应该在此处询问,而不是直接询问转换后的查询。同时这会有所帮助。

关于java - 将sql查询转换为hql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45475177/

相关文章:

php - Laravel 随机连接到不同的数据库

mysql - 优化计算每个产品的小计、折扣和总计的 SQL 查询

java - Lucene:查询的命中率是多少?

mysql - 未定义的方法 `add_foreign_key'

php - 如何将编码后的 Base64 字符串从数据库保存到文件、磁盘上?

sql - 如何从SQL中选择给定时间间隔之间的数据

php - 如何计算页面加载时有多少查询?

Java - 将 int 更改为 ascii

java - Java 中的八位字节数组是什么?

java - 使用 Java IO 搜索并打印特定行