【发布时间】:2011-08-18 08:23:55
【问题描述】:
我正在尝试在 GORM 中定义树结构。这是我的模型:
class Tree {
String name
Level rootLevel
static hasOne = [rootLevel: Level]
static hasMany = [levels: Level]
static mappedBy = [levels:"parentTree"]
}
class Level {
String name
Tree parentTree
Level parentLevel
Set<Level> subLevels
static belongsTo = [parentTree: Tree]
static hasMany = [subLevels: Level]
}
插入似乎工作正常,但是当我无法加载具有许多级别和子级别的树时。 我想我在关系中遗漏了一些东西: - 树应该有对 rootLevel 的引用(并且可以选择所有子级别) - 关卡应该有对其父关卡、子关卡和全局父树的引用
你能指出正确的方向来获得这样的树结构吗? 谢谢
【问题讨论】:
-
Hibernate 不喜欢递归结构,但这是可能的。请解释您的意思是“但是当我无法加载具有许多级别和子级别的树时”。你得到一个错误还是什么?
-
问题是关卡是用父树ID填充的,但是当你加载树时,你有以下错误“多行与给定的标识符被发现”级别类。
标签: java hibernate grails groovy grails-orm