可以GORM复制整个对象?(can GORM duplicate whole object?)

2019-10-21 01:09发布

我们使用Grails开发一些Web应用程序对于那些已经子类,我想知道,如果我们可以复制整个对象包括属于父所有子对象域类?

谢谢

Answer 1:

正如在评论中给出的,你可以用一个扩展GORM clone方法。

但是,如果你不想与GORM API一塌糊涂一个非常简单的解决方案是拆除现有的对象,只是“重新保存”它。 请注意,这将不执行deepClone

脚步:

  1. 空的ID。
  2. 更新域应该在副本不同。
  3. 分离问题的对象。
  4. 保存。

代码示例,假设域类Region具有独特的name属性,需要在保存之前改变:

def copyRegion(Region region, String newName) {
    region.id = null
    region.name = newName
    region.discard()
    if (region.save()) {
        // handle success
    } else {
        // handle error
    }
}

又见这个问题有关断开的对象。



文章来源: can GORM duplicate whole object?