0


1

Dozer:JAXBElementsからJava型へ?

私は(Dozerを使用して)JAXB DTOをPOJO(実際には、永続化する前にJPA注釈付きHibernateエンティティに変換)を試みています。 現時点での問題は、Dozerが要素をJAXB JAXBElement <>型からJAXBElement.getValue()型に変換しないように見えることです。 したがって、たとえば、JAXBElementは、java.lang.Stringではなく、JAXBElementとしてPOJOに変換されます。 プロパティ名は一般的です。 JAXBElementラッパーが唯一の違いです。

JAXB→ javaタイプ遷移を処理するカスタムコンバーターを記述せずにこれを行う簡単な方法はありますか? それは簡単なことのように思えるので、何かを見逃しているに違いないと感じています。 Dozer FAQにはPOJO→ JAXBのみが記載されており、その逆は言及されていません…​

ご協力いただきありがとうございます!

2 Answer


0


Dozerは最新のJAXB仕様を完全には実装していませんが、将来のリリースでは実装する必要があります。 質問https://sourceforge.net/projects/dozer/forums/forum/452530/topic/3494867[here]に対するDozerの回答、および送信された機能リクエストhttps://sourceforge.net/tracker/?funcを参照してください。 = detail&aid = 2919058&group_id = 133517&atid = 727371 [こちら]。 今のところ、jaxbでラップされた型をネイティブJava値に変換する一般的なフィールドレベルコンバーターを実装する必要があります。


0


この問題を解決する新しいプルリクエストを作成するだけです。https://github.com/DozerMapper/dozer/pull/101をご覧ください。

または、https://github.com/pepebarragan/dozerの個人用フォークでこれを確認してください。