我想构建一个 Web 界面来呈现日志数据。这应该是尝试使用 Grails 构建一个小型 Web 应用程序的好机会,我一直想尝试一段时间,但是我在理解如何将今天的手动 sql 查询“翻译”成对 Grails 有用的东西。
在 Grails In Action 一书中,我没有找到太多关于将现有数据表改造成域类的信息。所以我把它带到这里来澄清一下:)
这基本上是我今天登录的日志表的架构:
LOG(id,method,timestamp,millis_used,username,hostname,...etc)
我可以看到自己在做一些事情,比如使用映射创建域类 User 和 HosthasMany = { logs: Log }
以及 Log 类belongsTo = { user: User }
,但不知道如何以有效的方式使用它来查询我的数据,尤其是在处理数十万条日志行时。我通常对诸如"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 野兽可以用于这样的事情吗?