休眠实体的深度克隆
2022-09-04 04:15:42
我想知道如何创建持久化对象及其所有关联的深层副本。假设我有以下模型。
class Document {
String title;
String content;
Person owner;
Set<Citation> citations;
}
class Person {
String name;
Set<Document> documents;
}
class Citation {
String title;
Date date;
Set<Document> documents;
}
我有一个场景,用户可能想要从一个人那里获取特定文档的副本,并使文档成为他/她的,然后他/她可以更改其内容和名称。在这种情况下,我可以想到一种方法来实现这种场景,即创建该文档的深度副本(及其关联)。
或者,如果有人知道任何其他可能的方法都可以在不做大量数据复制的情况下做这样的事情,因为我知道这可能对应用程序性能不利。
我还在考虑创建对原始文档的引用,例如具有属性,但这样我将无法知道哪个属性(或者可能关联)已更改。originalDocument