【发布时间】:2014-10-13 22:21:39
【问题描述】:
我对双向一对多关系中的惰性初始化集合感到困惑,
我有两个域Module和Rule,它们之间有一个双向的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
}
我希望对“描述”属性的每次访问都有一个查询,但我没有看到任何迭代查询。
你有什么想法吗?
谢谢
【问题讨论】:
-
所以,它不是。你又问了什么问题?
-
但默认情况下,集合应该是惰性初始化的......
-
它是,直到你明确加载它
-
但我得到的是真实类的实例集合而不是代理集合。
-
您可能会通过 groovy MP 即时获得增强的代理集合。你能描述你的问题,而不是你的观察或见解吗?
标签: grails one-to-many lazy-evaluation