推土机:深度映射无法正常工作

时间:2010-10-25 09:28:06

标签: mapping dozer

快速提问:我正在使用Dozer在两个不同的类之间进行映射。在我的目标类(本例中的A)中,我有一个字段,它是Name对象的一个​​实例。该对象有两个字符串(last-和firstNames)。通过输入字符串列表并使用分隔符将它们连接在一起来构建这些字符串。在我的源类(B)中,我有两个列表(last-和firstNames)。所有列表仅包含字符串。

我的推土机映射如下:

<mapping>
        <class-a>A</class-a>
        <class-b>B</class-b>
        <field>
            <a is-accessible="true" >name.lastNames</a>
            <b>lastNames</b>
        </field>
        <field>
            <a is-accessible="true">name.firstNames</a>
            <b>firstNames</b>
        </field>
    </mapping>

但是,使用上述配置时,我得到以下异常:

org.dozer.MappingException: No such field found class A.name.lastNames

有谁知道是否:

  • 甚至可以引用一个字段 以这种方式?
  • 一个可能 解决我做错了什么 这里吗?

要完成:在Name对象上为两个列表定义了getter和setter,但是我没有在A类本身上编写getter和setter。

1 个答案:

答案 0 :(得分:1)

发现无法将深度映射与is-accessible属性结合使用。为这个类编写一个自定义映射器就可以了。