ver*_*rdy 12 java persistence database-design hibernate clone
我想知道如何创建具有所有关联的持久对象的深层副本.假设我有以下型号.
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;
}
Run Code Online (Sandbox Code Playgroud)
我有一个场景,用户可能想要从一个人那里获取特定文档的副本并将文档作为他/她的文档然后他/她可以更改其内容和名称.在这种情况下,我可以想到一种方法来实现那种创建该文档的深层副本(具有其关联)的场景.
或者,如果有人知道任何其他可能的方法来做这样的事情而不做大量数据,因为我知道它可能对应用程序性能有害.
我也在考虑创建一个原始文档的引用,比如有一个属性,originalDocument但这样我就无法知道哪个属性(或者可能是关联)已被更改.
要执行深层复制:
public static <T> T clone(Class<T> clazz, T dtls) {
T clonedObject = (T) SerializationHelper.clone((Serializable) dtls);
return clonedObject;
}
Run Code Online (Sandbox Code Playgroud)
此实用程序方法将提供实体的深层副本,您可以执行希望对克隆对象执行的操作.
| 归档时间: |
|
| 查看次数: |
11498 次 |
| 最近记录: |