class PersonDTO {
String name;
String street;
String city;
}
class Person {
String name;
Address address;
}
class Address {
String street;
String city;
}
@Mapper(componentModel = "spring")
interface Mapper {
Person fromPersonDTO(PersonDTO dto);
}
Я пытался использовать от 2 String
до Address
, но выдает
неоднозначное исключение свойства
.
Чтоя должен добавить в маппере для сопоставления street
и city
из PersonDTO
в Address
?
обновление:
@Mapper(componentModel = "spring")
interface Mapper {
@Mapping(source = "street", target = "address.street")
@Mapping(source = "city", target = "address.city")
Person fromPersonDTO(PersonDTO dto);
}
Над мапперомобрабатывать прямое отображение.Но что, если я хотел бы добавить некоторую бизнес-логику при создании объекта Address
,
, например:
address.street = street.replaceAll(" ", "_");
address.city = cityDao.findByName(city).getId();
Есть ли способ выполнить такое требование?