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

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

如何使用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无法推断所有可能的实现。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5430528.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存