簡體   English   中英

使用MapStruct時無法映射屬性

[英]Can't map property when using MapStruct

我使用MapStruct庫來映射對象,但是我收到了這個錯誤:

無法將屬性“java.util.Date aDate”映射到“javax.xml.bind.JAXBElement ADATE”。 考慮聲明/實現映射方法:“javax.xml.bind.JAXBElement map(java.util.Date value)”。

我的問題:我應該在哪里取消這種映射方法?

我通過編寫另一個類解決了這個問題:

public class DateMapper {

    public JAXBElement<XMLGregorianCalendar> map(Date value) {

        // conversion here

        return atswer;
    }
}

並使用此注釋:

@Mapper(uses=DateMapper.class)

有兩種選擇:

  • 使映射器成為抽象類而不是接口,並直接在mapper類中實現該方法
  • 在另一個類上實現該方法,並將其聲明為mapper的“used”; 有關詳細信息,請參閱參考指南

順便說一句。 如果您使用XMLGregorianCalendarJAXBElement<XMLGregorianCalendar>而不是JAXBElement原始類型,則應自動完成映射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM