1

リスト内のオブジェクト内のプロパティを配列にマップしようとしていますが、カスタム コンバーターなしでこれを行うことができるかどうかを知りたいです。

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 を持ちたいと思います。

誰でもこれで私を助けることができますか?ありがとう!!

4

1 に答える 1

0

あなたが言ったように、あなたはカスタムコンバーターでそれをすることができます。

私が見つけた別の解決策は、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>

私はそれをテストしました。できます。

于 2012-10-18T08:36:59.343 に答える