Grails GORM字段初始化问题

Grails GORM字段初始化问题,grails,gorm,relationship,Grails,Gorm,Relationship,所以我有一个1:1的关系: class Number1 { Number2 n2 } class Number2 { belongsTo = [n2: Number2] } 现在,我想在类Number1中初始化n2,如下所示: class Number1 { Number2 n2 = New Number2(...).save() } 但Grails因hibernate异常而失败。初始化具有这种关系的字段的最佳做法是什么?我认为这里有错误。正如你的问题所述,数字2应

所以我有一个1:1的关系:

class Number1 {
    Number2 n2
}

class Number2 {
    belongsTo = [n2: Number2]
}
现在,我想在类Number1中初始化n2,如下所示:

class Number1 {
    Number2 n2 = New Number2(...).save()
}

但Grails因hibernate异常而失败。初始化具有这种关系的字段的最佳做法是什么?

我认为这里有错误。正如你的问题所述,数字2应该属于数字1,而不是它本身:

belongsTo = [n1: Number1]
如果将Number2
belongsTo
Number1定义为Number2,则Number2的对象如果没有关联的Number1对象,将无法持久化。必须首先将Number2对象添加到某个Number1对象

在控制器中执行以下操作:

def a = new Number1();
def b = new Number2();

b.addToN1(a)
...
您应该查看更多详细信息。它将展示如何在使用Grails持久性时避免非常常见的错误