2012-10-15 68 views
0

我有域類如下Grails的渴望獲取一個空的關聯,則返回null

Class Author{ 
String name 

List books = LazyList.decorate(new ArrayList(), FactoryUtils.instantiateFactory(Book.class) 


static hasMany = [books:Book] 

} 

Class Book { 
String title 
static belongsTo = [author:Author] 

} 

現在我想

Author authorInstance = Author.find("from Author a inner join fetch a.books where a.id =:authorid",[authorid:Long.parseLong(params.id)] 

獲取作者現在,當這位作者沒有任何書籍,即書籍協會是空的 authorInstance返回爲空

我不知道,但我認爲這是因爲lazyList(我使用lazyLis的原因t是更簡單的數據綁定)。

回答

0

找出問題是內部連接,當關聯爲空時內部連接顯然不會返回任何東西,所以我將其改爲左邊外部連接,並開始工作