Java 没有设置器的对象的推土铲贴图 公共类ParentOne{ 私人名单儿童; 公共列表getChild(){ if(child==null){ child=newarraylist(); } 返回儿童; } } 公共二级{ 私人名单儿童; 公共列表getChild(){ if(child==null){ child=newarraylist(); } 返回儿童; } }

Java 没有设置器的对象的推土铲贴图 公共类ParentOne{ 私人名单儿童; 公共列表getChild(){ if(child==null){ child=newarraylist(); } 返回儿童; } } 公共二级{ 私人名单儿童; 公共列表getChild(){ if(child==null){ child=newarraylist(); } 返回儿童; } },java,mapping,dozer,Java,Mapping,Dozer,推土机测绘 public class ParentOne { private List<ChildOne> child; public List<ChildOne> getChild() { if (child == null) { child = new ArrayList<ChildOne>(); } return child; } } public cl

推土机测绘

public class ParentOne {

    private List<ChildOne> child;

    public List<ChildOne> getChild() {
        if (child == null) {
            child = new ArrayList<ChildOne>();
        }
        return child;
    }
}

public class ParentTwo {

    private List<ChildTwo> child;

    public List<ChildTwo> getChild() {
        if (child == null) {
            child = new ArrayList<ChildTwo>();
        }
        return child;
    }
}

亲子关系
父母二
小孩
小孩
公共类客户端{
公共静态void main(字符串[]args){
ParentOne ParentOne=新ParentOne();
parentOne.getChild().add(newchildone());
parentOne.getChild().add(newchildone());
ParentTwo ParentTwo=dozerBeanMapper.map(parentOne,ParentTwo.class);
}
}
父类不包含列表的setter。因此,我以这样的方式制作了推土机贴图,以便直接访问字段。 映射发生得很好,但问题是在映射parentTwo实例包含ChildOne类型的子对象之后,它应该是ChildTwo

我遗漏了什么吗?

添加提示(有关更多信息,请参阅)


亲子关系
父母二
小孩
小孩
ChildOne
孩子二
您可能需要使用类的完全限定名,而不仅仅是
ChildOne
ChildTwo
,但除此之外,它应该可以工作

<mapping>
    <class-a>ParentOne</class-a>
    <class-b>ParentTwo</class-b>
    <field>
        <a is-accessible="true">child</a>
        <b is-accessible="true">child</b>
    </field>
</mapping>

public class Client {

    public static void main(String[] args) {
        ParentOne parentOne = new ParentOne();
        parentOne.getChild().add(new ChildOne());
        parentOne.getChild().add(new ChildOne());

        ParentTwo parentTwo = dozerBeanMapper.map(parentOne, ParentTwo.class);
    }
}
<mapping>
    <class-a>ParentOne</class-a>
    <class-b>ParentTwo</class-b>
    <field>
        <a is-accessible="true">child</a>
        <b is-accessible="true">child</b>
        <a-hint>ChildOne</a-hint>
        <b-hint>ChildTwo</b-hint>
    </field>
</mapping>