質問

I have domain classes as follows

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]

}

Now i am trying to fetch Author

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

Now, when this author doesn't have any books, i.e books association is empty authorInstance returned is null

I am not sure, but i think this is happening because of lazyList(the reason i am using lazyList is to have easier data binding).

役に立ちましたか?

解決

Figured out the problem is with inner join, when association is empty inner join would obviously not return anything, so i changed that to left outer join, and it started working

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top