所以我有一对一的关系:
class Number1 {
Number2 n2
}
class Number2 {
belongsTo = [n2: Number2]
}
现在,我想在类Number1中初始化n2,例如:
class Number1 {
Number2 n2 = New Number2(...).save()
}
但是Grails出现休眠异常失败。在这种情况下初始化字段的最佳实践是什么?
最佳答案
我认为这是一个错误。作为您的问题状态,Number2应该属于Number1,而不是本身:
belongsTo = [n1: Number1]
如果定义Number2
belongsTo
Number1,则Number2对象如果没有关联的Number1对象,将无法保留。您必须先将Number2对象添加到某些Number1对象。在 Controller 中执行以下操作:
def a = new Number1();
def b = new Number2();
b.addToN1(a)
...
您应该查看GORM Gotchas series以获得更多详细信息。它将展示如何在使用Grails持久性时避免非常常见的错误。
关于grails - Grails GORM字段初始化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5490876/