2013-04-02 56 views
4

我有場域GORM - 查詢一對多關聯Grails中

class Course { 
    String name 

    static hasMany = [categories: Category] 
} 

類別域類

class Category { 
    String name 
} 

所以這裏課程可以有多個類別。

現在我想找到所有具有類別id爲例如4

我試着寫HQL查詢課程:

def courseList = Course.findAll("from Course as c where c.categories.id in (4)") 

它給出了一個錯誤。

如何編寫正確的HQL或正確的withCriteria查詢?

+0

那是一個筆誤或者是你真的想使用的hasMany和屬於關聯的同一側?只是看起來不正確。如果一門課程有許多類別,則它不能屬於一個類別。 – uchamp

+0

@ uchamp:這是類型錯誤,更新了我的問題.. – Hussy

回答

4

您可以使用withCriteria查詢:

Course.withCriteria { 
    categories { 
     eq 'id', new Long(4) 
    } 
}