【问题标题】:dozer - map object properties within list to an arraydozer - 将列表中的对象属性映射到数组
【发布时间】:2012-10-01 22:26:54
【问题描述】:

我试图将列表中对象内的属性映射到数组,我想知道是否可以在没有自定义转换器的情况下做到这一点。

public class Kid(){
    List<Toy> toys;
}
public class Toy(){
     String name;
     String brand;
}
public class ConvertedKid(){
    String[] toysNames;
}

在 mapper.map(aKid, ConvertedKid.class) 之后,我希望将 convertKid.toysNames 作为字符串数组,仅包含其名称。

谁能帮我解决这个问题?谢谢!!

【问题讨论】:

    标签: list dozer


    【解决方案1】:

    如您所说,您可以使用自定义转换器来实现。

    我找到的另一个解决方案是覆盖 Toy 的 toString() 方法

    玩具类

    public class Toy{
      String name;
      String brand;
    
      // getters and setters ...
    
      @Override
      public String toString() {
        return this.name;
      }
    }
    

    映射

      <mapping>
        <class-a>xxx.xxx.Kid</class-a>
        <class-b>xxx.xxx.ConvertedKid</class-b>
          <field>
        <a>toys</a>
        <b>toysNames</b>
          </field>
      </mapping>
    

    我测试过了。它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 2018-12-14
      相关资源
      最近更新 更多