私はapache-camelでMyBatisを実行しています。ObjectFactoryとMyBatis、結果をJAXBElement <XmlGregorianCalendar>にマッピング
クエリの結果には、jdbcType = "DATE"形式のデータが含まれています。私は、データをJAXBオブジェクト(xsdスキームから生成)に設定するために使用しているSQL日付とXMLGregorianCalendar日付型の間の変換を処理する私のカスタムObjectTypeHandlerを書きました。
JAXBクラスのすべてのフィールドがraw XMLGregorianCalendar値を受け入れるわけではなく、JAXBElementが必要なように定義されているものもあります。
これを解決するにはObjectFactoryインスタンスを使用できますが、JAXBElementを入力として(ObjectFactoryで独自のcreate *メソッドを使用するため)、各フィールドにカスタムObjectTypeHandlerを記述する必要があります。それは、定型的で重複したコードのように思えます。
もっと丁寧に対応することは可能ですか?
JAXBオブジェクトを生成する際に、グローバルバインディング(xjbファイル内)を使用しないのはなぜですか?私はXJCコンパイラが正しく処理すると思います。 – Vadim
@Vadimグローバルバインディングの使用方法にリンクできますか? – Dmitriy