我想構建一個web界面來呈現logdata。這應該是嘗試使用Grails構建一個小型Web應用程序的好機會,我一直想嘗試一段時間,但是我在理解如何將當前的手動sql查詢翻譯成某些可用於Grails的東西。將數據挖掘sql-queries轉換爲Grails等價物?
我還沒有發現有關將現有數據表加載到書中Grails In Action中的域類上的太多信息。所以,我將在這裏進行一些澄清:)
這基本上是對數表,我登錄到今天的模式:
LOG(id,method,timestamp,millis_used,username,hostname,...etc)
我可以看到自己做的事情,如創建域類用戶和主機像hasMany = { logs: Log }
這樣的映射和一個帶有belongsTo = { user: User }
的Log類,但並不知道如何以有效的方式使用它來查詢我的數據,特別是在處理成千上萬的日誌行時。我通常對數據進行查詢,如"find the average time used for method='fooBar' and user='john_doe' the last 30 days"
或"count the number of rows where method='fooBaz' and host='localhost' from May to December"
。
你將如何去檢索這樣的信息?你會忘記映射日誌條目,只是在表上使用某種直接的SQL(HQL?)查詢,或者可以使用這種(對我來說不知道)GORM beast來做這樣的事情嗎?
約審覈規定好一點。我沒有發現他們個人適合我的大腦,但有些人喜歡他們比HQL好一點。我來自SQL背景,所以我發現相當的HQL對我來說更容易編寫/讀取/維護。這裏是OP的參考:'Log.executeQuery(「從日誌l選擇平均值(持續時間)連接l.user你在哪裏u.firstName =:firstName」,[firstName:'user1'])' – 2011-04-04 04:49:07
突然遇到Criterias在我今晚1點的Grails in Action書中,我認爲他們完全符合這個法案。很高興看到一個很好的用法例子:) – oligofren 2011-04-04 07:41:29