从其他Bean填充Bean

时间:2012-09-12 14:09:22

标签: java spring hibernate

我想从其他bean填充bean。

 Example:

 // this is mapped to db using hibernate.
 class A {
    string name;
    string age;
    Date dateA;
    B obj;
 }

 // this was mapped to db but now I'd like to populate it from class A member dateA;
 class B{
    Date date;
 }

当我尝试设置B对象时,我得到了nullpointerexception。知道如何处理这个问题吗?

4 个答案:

答案 0 :(得分:1)

Dozer是Java Bean到Java Bean映射器,它以递归方式将数据从一个对象复制到另一个对象。

Mapper mapper = new DozerBeanMapper();
DestinationObject destObject =  mapper.map(sourceObject, DestinationObject.class);

有关详细信息,请按照 Dozer

答案 1 :(得分:0)

您应该在调用B Obj = new B()之前实例化obj.setDate()

如果您已经这样做了,如果我遗漏了某些内容,请在问题中提供足够的信息。

答案 2 :(得分:0)

Apache Commons BeanUtils有几种不同的方法可以实现您的目标。

您可以使用BeanUtils.copyProperties()。还有BeanUtils.cloneBean()

答案 3 :(得分:0)

执行此类映射的非常受欢迎的库是Apache commons BeanUtils

它有一套全面的功能可以将一个bean属性复制到另一个bean属性。

您可以浏览一下使用示例herehere