我被击中了。有如下的父表。
class Parent{
static hasMany = [child: Child];
static Parent findByParent(Parent parent){
def c = Parent.createCriteria()
def result = c.get {
child{
idEq(parent.id)
}
}
}
}
class Child {
}
以下是控制器操作。
def save(Child child){
def orderList;
if(parent){
orderList = parent?.child(); // here i am getting exception. failed to lazily initialize
// a collection of role: Parent.child, no session or session
//was closed. Stacktrace follows:
}
}
那么如何处理这种情况。或者是否有任何注释要进行Eager初始化。
答案 0 :(得分:4)
对于急切的提取,您可以在父域中明确将lazy设置为false。尝试这样的事情
static mapping = {
child lazy: false
}
希望它有所帮助...