当前位置:  开发笔记 > 编程语言 > 正文

使用MapStruct时无法映射属性

如何解决《使用MapStruct时无法映射属性》经验,为你挑选了2个好方法。

我使用MapStruct库来映射对象,但是我收到了这个错误:

无法将属性"java.util.Date aDate"映射到"javax.xml.bind.JAXBElement ADATE".考虑声明/实现映射方法:"javax.xml.bind.JAXBElement map(java.util.Date value)".

我的问题:我应该在哪里取消这种映射方法?



1> zygimantus..:

我通过编写另一个类解决了这个问题:

public class DateMapper {

    public JAXBElement map(Date value) {

        // conversion here

        return atswer;
    }
}

并使用此注释:

@Mapper(uses=DateMapper.class)



2> Gunnar..:

有两种选择:

使您的映射器成为抽象类而不是接口,并直接在映射器类中实现该方法

在另一个类上实现该方法,并将其声明为您的映射器“已使用”;有关更多详细信息,请参见参考指南

顺便说一句。如果您使用XMLGregorianCalendarJAXBElement代替JAXBElement原始类型,则应自动完成映射。

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有