栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用mapStruct映射以@XMLSeeAlso注释的JAXB元素?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用mapStruct映射以@XMLSeeAlso注释的JAXB元素?

看来您有3个不同的问题。

  1. 看来您想要实现的目标是让MapStruct检测到所有可能的实现
    Customer
    (或参见参考资料
    @XmlSeeAlso
    )并使用所需的方法。这在MapStruct中是不可能自动实现的。有关现有功能请求,请参见 #131。
  2. 当您没有正确定义属性时,应该会发生这种情况。实际上,MapStruct仅查看getter和setter(不在字段中)。所以,如果你的吸气剂
    getAM
    ,然后你
    @Mapping(target = "AMLLineOfBusiness", ignore = true)
  3. 这个问题与此类似。也许您可以尝试重用映射配置

1的可能解决方案是您自己身边的一个实例。

@Mapperpublic interface CustomerMapper {    PersonalCustomer personcalCustomerToPersonalCustomer(PersonalCustomer pc);    default Customer customerToCustomer(Customer customer) {        if (customer instanceOf PersonalCustomer) { return personalCustomerToPersonalCustomer((PersonalCustomer) pc);        } else if (customer instanceOf BusinessCustomer) { return businessCustomerToBusinessCustomer((BusinessCustomer) pc);        }    }}

发生这种情况的原因是MapStruct是注释处理器,因此它在编译期间生成了代码。另一方面,Dozer正在使用运行时信息。推土机可以在运行时获取类并选择正确的方法。MapStruct无法推断所有可能的实现。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455003.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号