MapStruct: сопоставить свойства вложенного объекта со свойствами - PullRequest
0 голосов
/ 24 мая 2018

Предположим, у меня есть следующие объекты:

class Person {
    String firstName;
    String lastName;
}

class PersonBLO {
    Person person;
    Integer foo; // Some calculated business property
}

class PersonDTO {
    String firstName;
    String lastName;
    Integer foo;
}

Я пишу следующее сопоставление:

@Mapping(target = "firstName", source = "person.firstName")
@Mapping(target = "lastName", source = "person.lastName")
PersonDTO personBLOToPersonDTO(PersonBLO personBLO);

Возможно ли автоматически сопоставить все атрибуты person.* с соответствующими* атрибуты?

1 Ответ

0 голосов
/ 31 мая 2018

Использование подстановочных знаков в настоящее время невозможно.

Что вы можете сделать, так это предоставить собственный метод, который бы просто вызывал правильный.Например:

@Mapper
public interface MyMapper {

default PersonDTO personBLOToPersonDTO(PersonBLO personBLO) {
    if (personBLO == null) {
        return null;
    }
    PersonDTO dto = personToPersonDTO(personBlo.getPerson());
    // the rest of the mapping

    return dto;
}

PersonDTO personToPersonDTO(PersonBLO source);

}
...