2012-02-28 74 views
0

我有一個域類命名查詢:使用命名查詢

class Store { 
    static namedQueries { 
     openOnWeekends { 
      // some conditions here... 
     } 
    } 
} 

我知道我能做到Store.openOnWeekends.list(),但我想要做這樣的事情:

def pickupWeekendStores = Order.get(params.id).books.store.openOnWeekends 

是否有如何使用這樣的命名查詢?關於如何讓商店在週末營業的任何建議?

編輯:

Order hasMany Book, Book hasMany Store 
+1

你能與你相關的領域類擴大?有多種答案,取決於你如何建模你的關係。 – 2012-02-28 23:08:21

+0

剛剛編輯了這個問題 – zoran119 2012-02-28 23:12:27

回答

0

是否做這樣的事情:

Set<Store> pickupWeekendStores = Order.get(params.id).books*.store.collect { it.openOnWeekends.list() } 

工作?

1

命名查詢支持在調用其他條件,所以你可以嘗試:

Store.openOnWeekends { 
    books { 
     'in'('id', Order.get(params.id).books.collect { it.id }) 
    } 
}