Grails - 相同类型的两个属性,一个不会持久存储到数据库,没有错误

时间:2012-03-03 16:40:07

标签: grails gorm

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。

真的不知道为什么数据不会持续存在。

1 个答案:

答案 0 :(得分:1)

我必须将以下内容添加到属性:

static mappedBy = [attributeParameters: 'attribute']