我有以下类结构class MapFromBase {}class MapFromChild extends MapFromBase {}class MapToBase {}class MapToChild extends MapToBase {}@Mapperinterface Mapper { @Mappings(/* a lot of mappings */) MapToBase mapBase (MapFromBase value); MapToChild mapChild (MapFromChild value);}有没有办法让mapChild映射器将mapBase映射器用于从基类继承的所有字段,而无需手动复制所有映射?
2 回答

陪伴而非守候
TA贡献1757条经验 获得超8个赞
您必须链接 MapFromChild 和 MapToChild。您可以为它使用通用标记。
class ChildType {
}
class Child extends ChildType {
}
class SuperChild extends ChildType {
}
class OtherChild extends ChildType {
}
class MapFromBase<T extends ChildType> {
}
class MapFromChild extends MapFromBase<Child> {
}
class MapToBase<T extends ChildType> {
}
class MapToChild extends MapToBase<Child> {
}
@Mapper
interface Mapper <X extends ChildType> {
MapToBase<X> universalMap (MapFromBase<X> value);
}
ChildType 也可以是一个接口。
添加回答
举报
0/150
提交
取消