hibernate - Grails:向父域对象添加多个子元素的痛苦
问题描述
我对 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
仅接受单个实例,而不是列表。所以迭代列表并添加单个实例。
推荐阅读
- quickbooks - 来自 ReceivePaymentAddRq 的 3120 错误 - php devkit
- python - 数据框中每个列表列表的唯一标识符
- c - 使用 if-else 对 3 个值进行排序的最有效的 c 程序是什么?
- qt - Qt 5.8 使用 std::chrono 编译问题
- raspberry-pi - Android Things Console 中的生产下载选项存在问题
- azure-devops - 如何删除错误创建的 Azure DevOps 帐户?
- ios - 不支持从扩展覆盖非@objc 声明
- r - 尝试注意一列中的值是否等于每行下一列中的值
- c++ - 从 'const char*' 到 'char*' [-fpermissive] 的无效转换;VTK-7.1.1 编译错误
- jquery - 多个表单同一个页面只提交一个ajax