【问题标题】:Convert sql query to hql将sql查询转换为hql
【发布时间】:2017-08-03 04:59:05
【问题描述】:
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查询?

【问题讨论】:

  • 我觉得你应该先自己试一试,问是否失败。另外hibernate可以执行原生SQL查询。
  • 如何在hibernate中执行原生sql查询

标签: java mysql sql hibernate hql


【解决方案1】:

如果您不熟悉 HQL 并想使用相同的查询,那么您可以使用 Hibernate 的原生查询功能,如下所示:

@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 查询,然后如果有任何问题,那么您应该在这里询问,而不是直接询问转换后的查询。同时,这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-07-02
    • 2014-06-26
    • 1970-01-01
    • 2021-11-02
    • 2017-07-12
    • 2018-06-20
    • 2012-09-06
    • 2016-09-22
    • 2020-03-28
    相关资源
    最近更新 更多