我要问一个转储问题,因为我是个新手。
我有两个 Realm School,Classes
class School {
static hasMany = [ classes: Classes ]
}
和
class Classes {
static belongsTo = [School]
}
现在我无法获取数据-如's'学校有c1,c2,c3类
我检查两种方法。
1. classesInstanceList = Classes.findAllBySchool(s)
它返回null;
2. classesInstanceList = s.getClasses();
它返回以下错误消息
Message: failed to lazily initialize a collection of role: com.test.School.classes, no session or session was closed
请有人建议我该怎么办。我现在被困住了。为什么第一个不起作用,请向某人解释。
最佳答案
您可以创建一个从Classes
域到学校的反向引用,然后按school对象进行搜索。
class Classes {
static belongsTo = [school:School]
static constraints = {}
}
class School {
static hasMany = [ classes: Classes ]
static constraints = {}
String toString(){"$id"}
}
测试:
def s = new School()
def c = new Classes()
s.addToClasses(c)
s.save(flush:true)
println Classes.findAllBySchool(s)
这应该给您与
classes
相关的school
。
关于grails - 无法访问一对多关系数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946849/