我对双向一对多关系中的延迟初始化集合感到困惑,
我有两个域模块和规则,它们之间存在双向otm
Class Module{
..
static hasMany = [providedRules : Rule]
..
}
Class Rule{
..
static belongsTo = [module : Module]
..
}
一种简单的测试方法:
def module = Module.get(id)
module.providedRules.each{
println it.description // i expected a query to Rule table for each iteration
}
我希望查询每次访问"说明"属性,但我没有看到任何迭代查询。
你有什么想法吗?
感谢
答案 0 :(得分:0)
添加这样的日志记录,看看日志中会发生什么:
datasource {
...
logSql = true
...
}
另请参阅文档中的fetching 的更新强> 签入grails。从Rule中删除belongsTo,它的工作方式与您想要的一样。 Lokks喜欢双向映射,它不是加载代理而是加载完整对象。