Grails 2.0.0.M2 - 级联保存问题

发布于 2024-12-04 06:53:08 字数 937 浏览 0 评论 0原文

我有两个简单的域类:

class Name {
 String firstName
 String lastName

 static belongsTo = [person: Person]
}

class Person {
  Name name
  String comment
}

以及具有两种方法的服务:

class PersonService {
  Person newPerson() {
    def person = new Person()
    person.name = new Name()
    person
  }
  Person savePerson(Person person) {
    person.save()
  }
}

现在,如果我使用 PersonService.newPerson() 创建一个新的 Person ,然后尝试使用 保存它使用 grails 1.3.7 的 savePerson() 方法一切正常。使用 grails 1.4.0 或 2.0.0.M2 会引发异常

列“name_id”不能为空

这是新 grails 中的错误吗?或者我的代码可能有问题?

测试方法:

void testPersonSave() {
    def person = personService.newPerson()
    person.name.firstName = 'f'
    person.name.lastName = 'l'
    person.comment = 'comment'

    personService.savePerson(person) //throws an exception
}

I have two simple domain classes:

class Name {
 String firstName
 String lastName

 static belongsTo = [person: Person]
}

class Person {
  Name name
  String comment
}

and service with two methods:

class PersonService {
  Person newPerson() {
    def person = new Person()
    person.name = new Name()
    person
  }
  Person savePerson(Person person) {
    person.save()
  }
}

Now if I create a new Person with PersonService.newPerson() and then try to save it using savePerson() method using grails 1.3.7 everything works fine. With grails 1.4.0 or 2.0.0.M2 exception is thrown

Column 'name_id' cannot be null

Is this a bug in new grails? Or maybe there is something wrong with my code?

Test method:

void testPersonSave() {
    def person = personService.newPerson()
    person.name.firstName = 'f'
    person.name.lastName = 'l'
    person.comment = 'comment'

    personService.savePerson(person) //throws an exception
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铃予 2024-12-11 06:53:08

看起来像一个错误。请JIRA: http://jira.grails.org/

Looks like a bug. Please JIRA: http://jira.grails.org/ .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文