簡單的一個 - 什麼是Grails的/格姆得到,因爲這SQL查詢同樣的效果的最佳方法:格姆等同於SQL
SELECT YEAR(日期)作爲SalesYear, MONTH(日期)作爲SalesMonth, SUM(價格)AS TotalSales 銷售 GROUP BY YEAR(日期),MONTH(日期) ORDER BY YEAR(日期),MONTH(日期)
簡單的一個 - 什麼是Grails的/格姆得到,因爲這SQL查詢同樣的效果的最佳方法:格姆等同於SQL
SELECT YEAR(日期)作爲SalesYear, MONTH(日期)作爲SalesMonth, SUM(價格)AS TotalSales 銷售 GROUP BY YEAR(日期),MONTH(日期) ORDER BY YEAR(日期),MONTH(日期)
域類的executeQuery方法允許你運行HQL查詢。
如果你看一些例子,你會注意到Hibernate Query Language記得很多SQL,但是是面向對象的。
從Grails的文檔:
executeQuery方法允許任意HQL查詢的執行。 當查詢選擇單個字段或計算值時,HQL查詢可以返回域類實例或指定的 數據的數組。
因此,在您的情況下,查詢將返回指定數據的數組,因爲不匹配域類,但您將能夠遍歷此數據。
假設你映射你的銷售表作爲銷售領域類:
class Sales {
Date date
BigDecimal price
...
static mapping = {
...
}
}
def result = Sales.executeQuery("SELECT YEAR(date) as SalesYear, MONTH(date) as SalesMonth, SUM(Price) AS TotalSales FROM Sales GROUP BY YEAR(date), MONTH(date) ORDER BY YEAR(date), MONTH(date)")
//iterate over the result
result.each { sales ->
println sales[0] //year
println sales[1] //month
println sales[2] //total
}
幫了很多 - 謝謝! – user1609258
您可以使用HQL,看到的executeQuery。 –
對不起,這並沒有多大幫助 - 有點像說,你可以使用Java - 見javadoc ... – user1609258
那麼,Grails文檔不僅僅是一個javadoc,我認爲這不是一個很好的例子,但我回答了你的問題質疑並指出消息來源。 –