我需要使用许多@OneToMany,@ OneToOne等关系克隆非常大且复杂的Hibernate实体,更改一些属性并将克隆的对象存储到数据库中。
我认为需要做的是:
这可能以更优雅的方式做到这一点吗?这种方法是否正确? 单独的表有50多个列,所以上面提到的方法在我看来非常低效,难以测试等...
谢谢!
答案 0 :(得分:2)
所有5个步骤都是正确的。你只需要创建一个对象的克隆/副本。要复制字段,您可以使用apache BeanUtils或spring BeanUtils。此外,如果您不仅复制一种实体类型,还可以创建自定义util类和注释,并在字段中使用此复制/忽略注释。为了将来,您可以添加一些复制策略,如 - lite,完整副本,带替换的复制....