Model 如何在ebean中复制对象

Model 如何在ebean中复制对象,model,playframework,playframework-2.0,persistence,ebean,Model,Playframework,Playframework 2.0,Persistence,Ebean,我正在使用play[0]应用程序,并使用ebean[1]作为对象关系映射器。 我们有一些“不可变”的模型,我们需要在每次发生变化时克隆/复制这些模型 实际问题是: 创建从orm检索的对象副本的正确方法是什么?以及如何处理与引用的关系 我们试图再次取消ids和持久化模型,但在这种情况下,ebean仍然保持与以前模型的关系 User user = Ebean.find(User.class, id); user.setId(null); user.save(); //will not create

我正在使用play[0]应用程序,并使用ebean[1]作为对象关系映射器。 我们有一些“不可变”的模型,我们需要在每次发生变化时克隆/复制这些模型

实际问题是: 创建从orm检索的对象副本的正确方法是什么?以及如何处理与引用的关系

我们试图再次取消ids和持久化模型,但在这种情况下,ebean仍然保持与以前模型的关系

User user = Ebean.find(User.class, id);
user.setId(null);
user.save(); //will not create a copy
我还试着使用Ebean.\u Ebean\u createCopy()[2]但我认为这并不能产生深度复制

User user = Ebean.find(User.class, id);
User another = user._ebean_createCopy();
another.setId(null);
another.save(); //will create a new user but keeps the old references
  • [0]
  • [1]
  • [2]

Ebean应该如何知道您想要保持哪些关系_ebean_createCopy()创建对象的副本。之后,您可以将作为关系一部分的字段设置为null或您自己想要的任何内容,并保留您想要的属性。如果其他一切都失败了,您可以在Ebean中始终使用原始sql。