3

我有一种情况,我需要使用ModelMapper将多个对象(在平面结构中)映射到 Java 中的一个对象(层次结构对象)中。

例如,

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 回答