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
只接受单个实例,不接受列表。所以迭代列表并添加单个实例。
我对 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
只接受单个实例,不接受列表。所以迭代列表并添加单个实例。