2012-05-04 85 views
1

在我们的应用程序中,我有一个例程,它可以手动迭代Hibernate加载的POJO的属性,并将这些属性分配给该对象的新实例,然后将其保存。迭代POJO属性并将其设置为另一个对象

Class TestClass{ 
    Integer a; 
    String b; 

    public void setA(Integer a){ 
     this.a = a; 
    } 
    public Integer getA(){ 
     return a; 
    } 
    ... 
} 

在动作确实

TestClass objectOne = testDao.get(id); 
TestClass objectTwo = new TestClass(); 

,然后迭代就像

objectOne.setA(objectTwo.getA()); 
objectOne.setB(objectTwo.getB()); 

我不知道是否有迭代更有效的方式通过objectOne的每个属性并将其设置为ObjectTwo,因为在我们的实际应用中,这些对象大约有20个属性左右。

非常感谢您的帮助。

回答

1

那么你可以使用反射做,在一个循环,如果你不;吨希望使用公共库中,虽然使用久经考验的代码似乎是更明智的选择,如果你没有将库添加到现有应用程序时出现问题。

编辑:

这应该是够你

http://java.sun.com/developer/technicalArticles/ALT/Reflection/

虽然我不知道这个解决方案VS ApacheCommons我不认为性能都将有巨大的差异。

+0

你能告诉我ho做循环**反射**吗? –

+1

我发布了java反射教程的链接,它应该足以满足您的需求......如果您遇到问题,请告诉我! – Thihara

+0

@Thihara链接不再相关。为了保持这个答案的相关性,可以提供一个示例或更新链接? – Hazok

相关问题