2012-03-05 48 views
1

我有以下域類:的日期(年,月)命名查詢

class Car{ 

int hp 
Date registrationDate 

} 

現在我想要做的就是創建一個命名查詢,讓我做這樣的事情:

Car.getCarsByYear(2011) 

Car.getCarsByYearMonth(2011,11) 

I'n不知道第二個是可能的,或者只有這樣,才能做到這一點是由具有2個命名查詢,一個爲一年,一個爲月。

如何爲指定查詢中的日期指定月/年?我採取了一些狂野的鏡頭,並嘗試使用谷歌搜索,但我什麼都沒有提出。

回答

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() 
} 
+1

一個注意:您可能需要使用領域從馬爾科的問題,'registrationDate',而不是通用'日期',因爲它有點混亂閱讀。 – OverZealous 2012-03-06 06:02:47

+1

我假設他想要月份/年等於參數的汽車,不大於 – 2012-03-06 10:14:42

相關問題