在Java中克隆不同的对象

时间:2014-02-28 17:51:10

标签: java clone

我有两个数据库表,它们是彼此的镜像。原因是一个表存储“CURRENT”值,其他表保存“ARCHIVED”值。我使用hibernate作为ORM工具。表格各有20列。业务要求是“当前”表中的值以特定的时间间隔保存到“归档”表。将值从“当前”对象复制到“归档”对象是很麻烦的。在JAVA中有没有办法克隆不同类型的对象(当前对象到归档对象)?对象的元素是相同的。

3 个答案:

答案 0 :(得分:2)

查看Apache Commons BeanUtils

它有两个不同的层次关系之间copy properties的有用方法。只要两个bean的属性具有相同的名称,这应该有效。

BeanUtils.copyProperties(Object dest, Object orig);

将属性值从原始bean复制到目标bean 属性名称相同的所有情况

答案 1 :(得分:1)

我使用评论中建议的fge,但是,您可以创建一个构造函数并将“当前”对象传递给它。

class ArchiveEntry{
   private String dummy;

   public ArchiveEntry(CurrentEntry entry) {
      this.dummy = entry.getDummy(); 
   }
}

答案 2 :(得分:0)

看看推土机映射器框架。支持使用配置进行深度克隆。