Именованный запрос для дат (месяц и год) - PullRequest
1 голос
/ 05 марта 2012

У меня есть следующий класс домена:

class Car{

 int hp
 Date registrationDate

}

Теперь я пытаюсь создать именованный запрос, который позволяет мне сделать что-то вроде этого:

Car.getCarsByYear(2011)

и

Car.getCarsByYearMonth(2011,11)

Я не уверен, что второй вариант возможен, или если единственный способ сделать это - это иметь 2 именованных запроса, один для года и один для месяца.

КакВы указываете месяц / год для даты в именованном запросе?Я сделал несколько диких снимков и попытался погуглить, но ничего не нашел.

1 Ответ

2 голосов
/ 06 марта 2012

Вы можете передать параметры в ваш именованный запрос:

    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()
}
...