Я передал вопрос Сопоставьте несколько исходных полей с целевыми полями одного и того же типа с помощью Mapstruct , но это не помогает
Мои остальные классы ресурсов, как показано ниже
class Base {
//fields
//getters and setters
}
Class A extends Base{
List<String> emailAdddress;
//other fields
//getters and setters
}
Class B extends Base{
List<String> devices;
//other fields
//getters and setters
}
Class C extends Base{
List<String> mobileNumbers;
//other fields
//getters and setters
}
Мой класс сущности - Source, как показано ниже:
Class Source {
String address
//other fields
//getters and setters
}
Я хочу сопоставить адрес из класса Source с emailAdddress или устройствами или mobileNumbers в своем классе сопоставления, я попытался использовать @AfterMapping в сопоставителекласс, а также класс декоратора, но это не помогло.
У меня есть такой класс сопоставления
@Mapper
public abstract class AddressMapper {
//basic mappings here
public abstract Source toEntity(Base b);
public abstract Base toDomain(Source src);
@AfterMapping
public void setAddressInfo(@MappingTarget Source src, B b) {
src.setAddress(b.getDevices().toString());
}