Pergunta

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).

Foi útil?

Solução

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top