Entité Classes:ModelMapper stratégie correspondantes: standard avec les types de référence
class User{
private Name name;
private int age;
private String email;
private Date dob;
private Address address;
// No Arguments Constructor , All Arguments Constructor , Setters, Getters and toString
}
class Name {
private String firstName;
private String lastName;
// No Arguments Constructor , All Arguments Constructor , Setters, Getters and toString
}
class Address {
private String houseNo;
private String street;
private String city;
private Integer pincode;
// No Arguments Constructor , All Arguments Constructor , Setters, Getters and toString
}
DTO:
class UserDTO{
private String firstName;
private String lastName;
private int age;
private String email;
private Date dob;
private String houseNo;
private String street;
private String city;
private Integer pincode;
// No Arguments Constructor , All Arguments Constructor , Setters, Getters and toString
}
Code pour convertir l'entité à DTO:
public class ReferenceTypePropertiesMapper {
@Test
public void shouldPopulateAllSimpleProperties(){
User user = createUser();
ModelMapper modelMapper = new ModelMapper();
UserDTO userDTO = modelMapper.map(user,UserDTO.class);
System.out.println("Source : "+ user);
System.out.println("Destination : "+ userDTO);
}
private User createUser(){
Name name = new Name("Siva", "Prasad");
Address address = new Address("1-93","ABC","HYD",123456);
return new User(name, 29, "[email protected]", new Date(), address);
}
}
Sortie:
Source : User(name=Name(firstName=Siva, lastName=Prasad), age=29, [email protected], dob=Tue Sep 26 14:38:45 IST 2017, address=Address(houseNo=1-93, street=ABC, city=HYD, pincode=123456))
Destination : UserDTO(firstName=Siva, lastName=Prasad, age=29, [email protected], dob=Tue Sep 26 14:38:45 IST 2017, houseNo=null, street=null, city=null, pincode=null)
Je prends 2 types de référence Nom et Adresse dans User.java. Lors de la création d'un objet pour l'utilisateur, je transmets également les détails de nom et d'adresse. Lorsque je tente de la carte utilisateur objet à UserDTO, Nom les détails sont mis en correspondance avec succès se, mais Adresse détails ne sont pas obtenir cartographiées.
Est-ce que n'importe quel corps peut m'aider à comprendre pourquoi ça se passe comme ça ou est-ce qu'il me manque quelque chose?