Inheritance Mapstruct如何从合成映射到继承?

Inheritance Mapstruct如何从合成映射到继承?,inheritance,composition,mapstruct,Inheritance,Composition,Mapstruct,在一边,我有一个对象A延伸到B public class A extends B { private boolean anotherAttr; } 另一方面,一个具有D属性的对象C public class C implements Serializable { private D common; private boolean anotherAttr; } 我已经有了一个从D映射到B的mapstruct方法 public abstract B m

在一边,我有一个对象A延伸到B

   public class A extends B {
        private boolean anotherAttr;
   }
另一方面,一个具有D属性的对象C

public class C implements Serializable {
    private D common;
    private boolean anotherAttr;
}
我已经有了一个从D映射到B的mapstruct方法

public abstract B mapBFromD(D pOrigin);
现在我需要从C映射A

public abstract A mapAFromC(C pOrigin);

如何重新使用mapBFromD而不必手动声明每个B属性?

您不能真正重用
mapBFromD
方法,因为该方法创建
B
的实例,而您不能将其分配给
A

您可以做的一件事是使用
映射到当前目标

@Mapping(target = ".", source = "common")
public abstract A mapAFromC(C pOrigin);
但是,使用此选项,您必须定义
D
A
之间的任何非隐式映射