grails - Grails GORM字段初始化问题

标签 grails gorm relationship

所以我有一对一的关系:

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/

相关文章:

grails - Grails 3.2-与数据库断开连接并重新连接

grails - Grails查询:获取关联对象列表

java - 如何检索相关的 Odata 实体 Odata4j

php - Laravel "with"将变量大小写更改为蛇形大小写

security - Grails - 默认的安全编码

html - 带有 Twitter Bootstrap 的 Grails 页面布局

email - 如何解决使用 Grails 发送邮件时必须经过身份验证的 550 问题?

grails - Grails独特的约束-它会同时起作用吗?

ruby-on-rails-5 - Rails 5.0 第 14 章 Micheal Hartl 教程未定义局部变量 active_relationship

validation - Grails inList约束在错误消息中获取inList映射的值