0

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

JAXB-> javaタイプの遷移を処理するカスタムコンバーターを作成せずにこれを行う簡単な方法はありますか?当たり前のように思えるので、何かが足りない気がします。Dozer FAQには、POJO-> JAXBのみが記載されており、その逆はありません...

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

4

2 に答える 2

0

Dozerは最新のJAXB仕様を完全には実装していないことが判明しましたが、将来のリリースでは実装する必要があります。こちらの質問に対するDozerの回答、およびこちらの送信された機能リクエストをご覧ください。今のところ、jaxbでラップされた型をネイティブのJava値に変換するジェネリックフィールドレベルコンバーターを実装する必要があります。

于 2009-12-27T03:34:26.780 に答える
0

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

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

于 2013-05-13T16:50:36.160 に答える