grails - 无法使用save(flush:true)将对象保存到数据库

标签 grails

这是我的简单域类:

package family

class Parent {

    static hasMany = [children : Child]
    String name 
}

package family

class Child {
    static belongsTo = [parent : Parent]
    String name
}

在BootStrap中,我执行以下操作:
import family.Child;
import family.Parent;

class BootStrap {

    def init = { servletContext ->

        def parent = new Parent(name:'Dad')
        parent.addToChildren(new Child(name:'son'))
        parent.addToChildren([name : "another son"])
        parent.save(flush : true, failOnError : true)

        println "hasErrors: " + parent.hasErrors()
        println "Parent: " + parent.name + " Children: " + parent.children.count()
    }

    def destroy = {
    }
}

在控制台中,我看到:
hasErrors:否
parent :父亲 child :0


您能帮我理解为什么 child 总是0吗?我究竟做错了什么?

最佳答案

应该是size()而不是count()

关于grails - 无法使用save(flush:true)将对象保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6703034/

相关文章:

tomcat - 无法在 Tomcat : MalformedParameterizedTypeException on 'pluginManager' 中部署 Grails 应用程序

grails - 如何在grails域类中有arraylist

ajax - 使用 AJAX 和 JSON 更新 grails 模板

tomcat - Grails 上的静态文件需要一段时间才能通过 http 协议(protocol)访问

grails - 在 Grails 中,域类中是否有像 onLoad() 这样的东西?

grails - grails 是如何实现处理程序映射的?

java - 带有 java 服务和 JMS 的 Grails 应用程序

grails - 线程 “main”中的异常java.lang.ClassNotFoundException:使用grails 3.0.0在Intellij中使用org.codehaus.groovy.grails.cli.support.GrailsS​​tarter

mysql - grails 使用 uuid 作为 id 并映射到二进制列

grails - AWS SES、邮件插件和 Grails 配置