我有以下域结构:
class Survey {
Integer id
String title
static hasMany = [questions: Question]
static constraints = {
id()
title()
questions()
}
String toString(){
return title
}
}
class Question {
Integer id
String text
static hasMany = [responses: Response]
static fetchMode = [responses: 'eager']
static constraints = {
id()
text()
responses()
}
String toString(){
return text
}
}
class Response {
Integer id
String text
Integer numberOfPeopleSelected = 0
static constraints = {
id()
text()
numberOfPeopleSelected()
}
String toString(){
return text
}
}
我已经修改Bootstrap.groovy
为在启动时初始化一些数据,并单独调用Survey.list()
,Question.list()
并Response.list()
显示每个单独的级别都是使用预期值创建的
但是,当我这样做Survey.list()
并深入研究问题时,响应始终为空,如下所示:
我期望通过将fetchMode设置为渴望它应该始终加载该特定对象。
我可以对我的域对象进行哪些更改,以确保在执行类似操作Survey.findById(1)
时加载所有问题和响应?
谢谢