Hibernate Grails:将多个子元素添加到父域对象的痛苦

Hibernate Grails:将多个子元素添加到父域对象的痛苦,hibernate,jpa,grails,orm,gorm,Hibernate,Jpa,Grails,Orm,Gorm,我对Grails/GORM比较陌生,在此之前我很少接触hibernate 我试图在grails中将子对象映射到父对象。我有多个子对象要映射。数据库中已存在子对象 class Parent { static hasMany = [children: Child] } class Child { String name } 我尝试了以下步骤 def parentId = <a valid parent domain id> def parent = Parent.ge

我对Grails/GORM比较陌生,在此之前我很少接触hibernate

我试图在grails中将子对象映射到父对象。我有多个子对象要映射。数据库中已存在子对象

class Parent {
    static hasMany = [children: Child]
}

class Child {
    String name
}
我尝试了以下步骤

def parentId = <a valid parent domain id>
def parent = Parent.get(parentId)
def children = Children.getAll([list of valid children ids])
它只映射列表中的第一个元素

我还尝试了下面的代码片段,它也不起作用

parent.children += children
parent.save(flush:true)

我无法找到一种不使用循环的方法来实现这一点。我相信我遗漏了一些东西。

试试这个:
children.each{parent.addToChildren(it)}


addTo
只接受一个实例,不接受列表。因此,迭代列表并添加各个实例。

尝试以下操作:
children.each{parent.addToChildren(it)}


addTo
只接受一个实例,不接受列表。因此,重复列表并添加各个实例。

谢谢Joshua。事实上,我最后也做了同样的事。但我只是想知道,在不重复儿童名单的情况下,我是否有什么可以用的。谢谢约书亚。事实上,我最后也做了同样的事。但我只是想知道,如果不重复儿童列表,是否有什么我可以使用的。
parent.children += children
parent.save(flush:true)