3

ModelMapperを使用して、Java で複数のオブジェクト (フラット構造内) を 1 つのオブジェクト (階層オブジェクト) にマップする必要がある状況があります。

例えば、

class Person{
    String name;
    int age;
}

class Address{
    int streetSumber;
    String streetName;
    String city;
}

class Phone{
    String type;
    String number;    
}

モデルマッパーから取り出したいのは次のようなものです

class PersonDTO{

    String name;
    int age;

    class AddressDTO{
        int streetSumber;
        String streetName;
        String city;
    }

    class PhoneDTO{
        String type;
        String number;    
    }
}

これを簡単に達成する方法はありますか?

ありがとう

4

1 に答える 1

0

を作成する必要があります。PersonWrapper

class PersonWrapper {
  Person person;
  Address address;
  Phone phone;
}

たとえば、PersonWrapper を PersonDTO にマップします。

PropertyMap<PersonWrapper, PersonDTO> orderMap = new PropertyMap<Order, OrderDTO>() {
  protected void configure() {
    map().setName(source.getPerson().getName());
    ....
  }
};
于 2015-08-21T19:13:27.700 に答える