我对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)
如果不使用循环,我无法找到一种方法来执行此操作。我相信我在这里缺少什么。
答案 0 :(得分:2)
尝试一下:children.each { parent.addToChildren(it) }
addTo
仅接受一个实例,而不接受列表。因此,请迭代该列表并添加各个实例。