【问题标题】:Dozer: Deep Mapping not working推土机:深度映射不起作用
【发布时间】:2011-04-30 02:55:05
【问题描述】:

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

我的推土机映射如下:

<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。

【问题讨论】:

    标签: mapping dozer


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多