我无法将保存级联到我的对象层次结构中。下面是我的对象层次结构的代码。
class Entity {
static hasMany = [attributes: Attribute]
}
class Attribute extends ValuePossessor {
static belongsTo = Entity
}
abstract class ValuePossessor {
def valueService
Value value
void setValue(val) {
this.value = valueService.Create(val)
this.value.possessor = this
}
}
abstract class Value {
static belongsTo = [possessor: ValuePossessor]
}
class StringValue extends Value {
String value
}
valueService 只是一个带有大 switch 语句的服务,它创建正确的值类型(字符串、布尔值、int 等)。
Entity e = new Entity()
Attribute attr = new Attribute()
attr.setValue(1)
e.addToAttributes(attr)
e.save()
上面的代码正确地创建了所有对象,但是未能保存值对象。实体和属性已保存,但值未保存。我是否缺少一些需要一直级联到值对象的标识符?