私は、異なるレベルの詳細または異なる冗長モードで「ユーザープロファイル」を提供できるサービスを提供しています。JAXB/EclipseLink:動的に型を解除する
これらのユーザープロファイルは、JPA2とデータベースで同期され、すべて正常に動作しています。 MOXy(EclipseLink)の使用私はXMLでプロファイルもシリアル化していますが、ここでもうまくいきます。
ただし、冗長モード(BRIEF、SUMMARY、FULL)は、XMLでシリアル化されたユーザープロファイル内の特定の要素の有無によって実装されます(QueryHistory要素、たとえばBRIEF冗長性モード)。
いくつかの単語で:JAXBContextに、いくつかの要素をシリアライズしてはならないことを指定したいと思います。を実行時にに指定したいとします。
MOXy Extensible Models - Refresh http://blog.bdoughan.com/2011/06/moxy-extensible-models-refresh-example.htmlがこれを行うことができますが、この機能を実装するためのより簡単な方法は誰かが知っていますか?
答えをいただき、ありがとうございます。しかし、私は既存のモデルとのマッピングファイルを使用する方法を理解していません。実際には、モデル(古典的なJPAエンティティ)を持つことが最善であり、モデルを整理するマッピングファイルを使用することができます。しかし私はそれをテストしたので、マッピングファイルは考慮されていません。 JAXBHelper.getJAXBContext(jc).refeshMetadata();であっても。 – njames
@njames - あなたが使用できる戦略で自分の答えを更新しました。メタデータをリフレッシュするのではなく、異なるレベルのマッピングに対して 'JAXBContext'の異なるインスタンスを使うことをお勧めします。 –
あなたの明確な答えをありがとう!しかし私はすでに実際にこの方法で働いていました。私の質問は、注釈付きクラスを持つ既存のJPA/JAXBモデルを持っているので、既存のモデルを「上書きする」ためにマッピングファイルを使用する方法がありますか?私の懸念は、私がモデルに変更することはできません(また、マッピングファイルのみを使用するアノテーションも削除します)。 – njames