mapstruct: используйте «.» в качестве целевого свойства — поддерживается ли оно в настоящее время?

#java #mapstruct

#java #mapstruct

Вопрос:

Я хочу использовать mapstruct следующим образом:

 @Mapping(target = ".", source = "object1.subobject2.subobject3")
public abstract Object4 toObject(Object1 object1);
  

Как Object1 соответственно. его подобъект3 имеет те же свойства, что и мой результирующий тип Object4, я хочу, чтобы он был непосредственно объектом сопоставления. Является ли «.»-operator в настоящее время допустимым параметром или мне нужно объявлять все свойства из «object1.subobject2.subobject3»?

Ответ №1:

Текущая цель сопоставления или «.» может использоваться Mapping#target начиная с 1.4.

На момент ответа на этот вопрос это версия 1.4.0.CR1.

Он должен работать точно так, как вы написали в своем вопросе.

Более подробную информацию об этом можно прочитать в разделе Сопоставление вложенных свойств компонента с текущей целью