Grails GORM可以复制整个对象吗?
我们正在使用grails开发一些web应用程序 对于具有子类的域类,我想知道是否可以复制整个对象,包括属于父对象的所有子对象Grails GORM可以复制整个对象吗?,grails,groovy,gorm,grails-domain-class,Grails,Groovy,Gorm,Grails Domain Class,我们正在使用grails开发一些web应用程序 对于具有子类的域类,我想知道是否可以复制整个对象,包括属于父对象的所有子对象 谢谢如评论中所述,您可以使用克隆方法扩展gorm 但是,如果您不想弄乱gorm api,一个非常简单的解决方案是分离现有对象并“重新保存”它。请注意,这不会执行deepClone 步骤: 将id设为空 更新副本中应不同的字段 拆下有问题的对象 保存它 代码示例,假设域类区域,其具有唯一的名称属性,需要在保存之前进行更改: def copyRegion(Region reg
谢谢如评论中所述,您可以使用
克隆
方法扩展gorm
但是,如果您不想弄乱gorm api,一个非常简单的解决方案是分离现有对象并“重新保存”它。请注意,这不会执行deepClone
步骤:
区域
,其具有唯一的名称
属性,需要在保存之前进行更改:
def copyRegion(Region region, String newName) {
region.id = null
region.name = newName
region.discard()
if (region.save()) {
// handle success
} else {
// handle error
}
}
另请参见关于断开对象的连接。为什么需要它?您需要在会话或数据库中复制对象吗?这个答案可能会帮助您:好了,什么都没有。传统的方法是浏览您的层次结构,
setId(null)
,并希望一切顺利。在您的案例中,您可能有机会使用gorm元信息获得通用解决方案。@PhilMr clone only object本身,我需要创建所有子对象以克隆仅复制对象本身,我也需要创建所有子对象