Именованный запрос для дат (месяц и год)
У меня есть следующий класс домена:
class Car{
int hp
Date registrationDate
}
Теперь я пытаюсь создать именованный запрос, который позволяет мне делать что-то вроде этого:
Car.getCarsByYear(2011)
а также
Car.getCarsByYearMonth(2011,11)
Я не уверен, что второй вариант возможен, или если единственный способ сделать это - это иметь 2 именованных запроса, один на год и один на месяц.
Как вы указываете месяц / год для даты в именованном запросе? Я сделал несколько диких снимков и попытался погуглить, но ничего не нашел.
1 ответ
Решение
Вы можете передать параметры в ваш именованный запрос:
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()
}