使用Grails + Joda-Time检索日期范围内的记录

时间:2013-12-05 20:14:14

标签: java grails gorm jodatime

我正在尝试使用以下代码检索事件列表

 def startDay = new DateTime().withDayOfMonth(1)
 def endDay = new DateTime().dayOfMonth().withMaximumValue()
 def eventsList = <Domain Class>.findAllEventDateBetween(startDay..endDay)

我在域类

中指定了以下内容
static mapping = {
    eventDate type: PersistentDateTime
}

从我能够找到的内容来看,我认为这将返回我指定的两个日期时间之间的事件记录列表。但是,每当我尝试运行代码时,我都会收到以下错误

    Method expression 'Between' requires 2 arguments. Stacktrace follows:
Message: Method expression 'Between' requires 2 arguments
    Line | Method
->>  111 | methodMissing in org.grails.datastore.gorm.GormStaticApi
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     19 | doCall        in koss.SomeController$_closure3$$EOPB7E85
|    195 | doFilter . .  in grails.plugin.cache.web.filter.PageFragmentCachingFilter
|     63 | doFilter      in grails.plugin.cache.web.filter.AbstractFilter
|   1145 | runWorker . . in java.util.concurrent.ThreadPoolExecutor
|    615 | run           in java.util.concurrent.ThreadPoolExecutor$Worker
^    744 | run . . . . . in java.lang.Thread

我做错了什么?我做对了吗?

我只想检索一组来自当月的记录。不幸的是,我似乎无法找到任何可以帮助我的东西。

1 个答案:

答案 0 :(得分:2)

使用

 def eventsList = <Domain Class>.findAllEventDateBetween(startDay, endDay)

错误说得非常清楚,动态查找器之间需要两个参数,而不是范围