Я ищу этот вопрос в SO, но не могу найти ответ.
Я хотел бы знать, есть ли способ сопоставить поля нескольких сущностей с одним DTO, но с другой картограф и в инкапсулированном DTO.
Пример:
Это моя сущность:
public class Identification{
long dbId;
String id;
String type;
String completeName;
boolean status;
}
Мой DTO:
public class PersonEntity{
String completeName;
IdentificationEntity identificationEntity;
}
public class IdentificationEntity{
String documentNumber;
boolean status;
String documentType;
}
I Создал мой маппер:
@Mapper(componentModel = "spring", uses = {IdentificationMapper.class})
public interface PersonMapper {
PersonEntity toPersonEntity(Identification identification);
}
@Mapper(componentModel = "spring")
public interface IdentificationMapper {
@Mapping(source = "id", target = "documentNumber")
@Mapping(source = "type", target = "documentType")
IdentificationEntity toIdentificationEntity(Identification identification);
}
, но я не знаю, как сопоставить IdentificationEntity из PersonEntity с маппером. Я имею в виду, если есть способ без использования @AfterMapping, уже опробованный с аннотацией использует , и на самом деле я не знаю, возможно ли это с помощью qualBy
@Mapper(componentModel = "spring")
public interface PersonMapper {
@Mapping(target="identificationEntity", qualifiedBy=IdentificationMapper.class)
PersonEntity toPersonEntity(Identification identification);
}
Пожалуйста, помогите с этим. : D