首页 > 解决方案 > Mapstruct 继承@Mappings

问题描述

尝试制作一个 MapStruct 实现,其中我有一个像这样的“父”对象:

public abstract class Parent {
private String id;
}

然后我的孩子有一大堆更多的属性,例如:

public class ChildA extends Parent{
private String name;
//And so on...
}

public class ChildB extends Parent{
private String address;
//And so on...
}

如何在 MapStruct 映射器中表示此数据结构?我只想映射孩子而不是父母。我已经成功地制作了一个映射器来映射一个带有抽象类的孩子,但是如果没有在子映射器中明确说明它,我就无法获得“父”映射来标记。

有没有办法我可以做类似的事情:

@Mapping(source = "id" target = "targetId")

在父映射器中,然后将该映射语句继承给子代?我不希望父级拥有自己的映射器,我只希望它保存该映射语句以减少冗余。

我很想用父类扩展我的抽象子映射器类,然后简单地继承。这可能吗?

标签: javamapstruct

解决方案


推荐阅读