首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用生成的类通过2 Mappers使用MapStruct传输对象

使用生成的类通过2 Mappers使用MapStruct传输对象
EN

Stack Overflow用户
提问于 2020-03-15 17:03:58
回答 1查看 37关注 0票数 0
  • I有三个类: A,B,C,
  • ,每个类都有单个ObjectX字段,
  • 类A和C也有ObjectY字段。
  • 类B是自动生成的,我不能修改它。
  • 我有A到B的映射器,从B到C的映射器,它们不包括ObjectY (被忽略)。H 210F 211

是否有可能以某种方式修改这些映射器以包括ObjectY (而不添加A到C之间的映射)?

mapper代码如下:

代码语言:javascript
复制
@Mapper
public interface MyMapper {
@Mapping(target = "ObjectX")
  B AtoB(A a);

@Mapping(target = "ObjectX")
  C BtoC(B b);
}
EN

回答 1

Stack Overflow用户

发布于 2020-03-16 14:51:00

如果我正确理解了这个问题,您希望将A转换为B,然后将B转换为C,您还希望保留ObjectY字段。问题是B没有ObjectY字段,所以它不能通过这个转换来存储它的值。

我想到的唯一解决方案是创建类MyB,它扩展类B并包含ObjectY字段,然后按如下方式更改映射程序:

代码语言:javascript
复制
public class MyB extends B {
    private ObjectY objectY;
    // getters and setters omitted for brevity
}
代码语言:javascript
复制
@Mapper
public interface MyMapper {
    MyB AtoB(A a);

    C BtoC(MyB b);
}

但我不确定在您的用例中是否可能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60695467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档