1

我有以下域类:

class Car{

 int hp
 Date registrationDate

}

现在我要做的是创建一个命名查询,使我能够执行以下操作:

Car.getCarsByYear(2011)

Car.getCarsByYearMonth(2011,11)

我不确定第二个是否可行,或者唯一的方法是使用 2 个命名查询,一个用于年,一个用于月。

如何在命名查询中指定日期的月/年?我拍了一些狂野的照片并尝试在谷歌上搜索它,但我一无所获。

4

1 回答 1

2

您可以将参数传递给您的 namedquery :

    static namedQueries = {
    getCarsByYearMonth { int year, int month ->
        println "year:"+year
        println  "month:"+month
        def now = Date.parse("yyyy-MM", "${year}-${month}")
        eq 'registrationDate', now
    }
}

并这样称呼它:

 def search() {
    render Car.getCarsByYearMonth(2012,2).list()
}
于 2012-03-05T20:02:26.927 回答