2017-08-03 92 views
0
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查詢嗎?將sql查詢轉換爲hql

+0

我認爲你應該先嚐試一下,然後詢問是否失敗。另外hibernate可以執行原生的SQL查詢。 – Pavlo

+0

如何在hibernate中執行原生的sql查詢 –

回答

0

如果你不與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查詢,然後如果出現任何問題,則應在此處詢問,而不是直接詢問轉換後的查詢。同時這可以幫助。