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

Grails: Pain of adding multiple child elements to a parent domain object

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

我正在尝试将子对象映射到 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])

我用子对象列表尝试了 addTo*,但没有用。

parent.addToChildren(children)

它只映射了列表中的第一个元素。

我也尝试了下面的代码片段,它也没有用。

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

我无法找到不使用循环的方法来执行此操作。我相信我在这里遗漏了一些东西。

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

addTo只接受单个实例,不接受列表。所以迭代列表并添加单个实例。