我想构建一个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