9

MapStruct ライブラリを使用してオブジェクトをマップしていますが、次のエラーが発生しました:

プロパティ「java.util.Date aDate」を「javax.xml.bind.JAXBElement ADATE」にマップできません。マッピングメソッド「javax.xml.bind.JAXBElement map(java.util.Date value)」の宣言/実装を検討してください。

私の質問: このマッピング方法をどこで宣言する必要がありますか?

4

2 に答える 2

24

別のクラスを作成して、この問題を解決しました。

public class DateMapper {

    public JAXBElement<XMLGregorianCalendar> map(Date value) {

        // conversion here

        return atswer;
    }
}

そしてこの注釈を使用して:

@Mapper(uses=DateMapper.class)
于 2016-01-08T08:23:13.113 に答える
10

次の 2 つの方法があります。

  • マッパーをインターフェイスではなく抽象クラスにし、そのメソッドをマッパー クラスに直接実装します。
  • メソッドを別のクラスに実装し、これをマッパーによって「使用」として宣言します。詳細については、リファレンス ガイドを参照してください。

ところで。生の型の代わりにXMLGregorianCalendarまたはを使用している場合、マッピングは自動的に行われます。JAXBElement<XMLGregorianCalendar>JAXBElement

于 2016-01-08T08:26:45.470 に答える