Grails 2.0.1
以下是简化版本的域名:
class Attribute {
String name
static hasMany = [attributeParameters: AttributeParameter]
}
class AttributeParameter {
String name
Attribute attributeReference
static belongsTo = [attribute:Attribute]
}
当我查看数据库中的模式时,AttributeParameter中有2个单独的FK; 1表示attribute_reference_id,1表示attribute_id。当我保存填充了所有数据的域时,我在Attribute和AttributeParameter上得到0个错误,但是,attribute_reference_id列永远不会被填充。调试,我可以看到attributeReference对象,它有一个ID,即使在保存调用之后也是如此。 Grails不会抛出任何异常(至少没有任何异常显示在控制台上)。
奇怪的是,如果我转到数据库并将属性的ID添加到attribute_reference_id列中,GORM会完美地加载它。再次点击保存,即使调试显示对象存在,它也会返回null。
真的不知道为什么数据不会持续存在。
答案 0 :(得分:1)
我必须将以下内容添加到属性:
static mappedBy = [attributeParameters: 'attribute']