Мой маппер выглядит так:
@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
public abstract class PersonMapper
{
@Mapping(target = "someModel", source = "someEto")
@Mapping(target = "someModel.bloodGroup", source = "someOtherEto.bloodGroup")
@Mapping(target = "someModel.nature", source = "someOtherEto.nature")
public abstract PersonModel mapPersonCtoToPersonModel(PersonCto personCto);
}
, который генерирует следующее значение Impl
@Override
public PersonModel mapPersonCtoToPersonModel(PersonCto personCto) {
if ( personCto == null ) {
return null;
}
PersonModel personModel = new PersonModel();
personModel.setSomeModel( someOtherEtoToSomeModel( personCto.getSomeOtherEto() ) );
personModel.setSomeModel( someEtoToSomeModel( personCto.getSomeEto() ) );
return personModel;
}
Но, если дважды установить someModel, заменит уже установленную модель.Это нормальное поведение для Mapstruct?Что-нибудь, что я могу сделать, чтобы это работало кроме AfterMapping?Потому что у меня достаточно большие и сложно вложенные модели и этос.