2011-10-17 8 views
2

JAXBを使用してHibernateオブジェクトをXMLに変換するために取り組んでいます。私たちの授業では、約50個のフィールドがあり、そこから10個だけ必要です。JAXBの必須フィールドのみに注釈を付けることはありますか

基本的には、2つのプロパティを持つXmlType#propOrderを定義しました。 JAXBは一部のパブリックゲッターがプロポーザルの一部ではないと不平を言った。 私は、XmlTransient/XmlElementのいずれかでプロパティをマークしないと、JAXBがそれに不満を持ちます。すべてのフィールドで 'XmlTransient'をスキップする方法はありますか?

+0

検索/正規表現またはコピー/ペーストの40倍を使用して交換してください?それは本当に難しいとは思わない。 – Thor84no

+0

もちろん、これは実行可能です。しかし、まだ良い選択肢を探っています:) – Prabhjot

答えて

6

@XmlAccessorType(XmlAccessType.NONE)を使用すると、注釈付きフィールド/プロパティのみがXMLにマーシャリングされるようになります。 JAXBはアノテーションを必要としません。アノテーションは、デフォルトの動作をオーバーライドするためにのみ必要です。あなたは何の例外を見ていますか?詳細情報

+0

基本的には、2つのプロパティを持つXmlType#propOrderを定義しました。 JAXBは一部のパブリックゲッターがプロポーザルの一部ではないと不平を言った。 – Prabhjot

+0

@Prabhjot - JAXBの実装では、XML要素にマップされたすべてのプロパティが '@XmlType'のpropOrderに含まれると予想されます。 '@XmlAccessorType'を設定すると、探しているものが正確に表示されます。 –

+1

Blaiseありがとうございます。これは魅力的に機能しました! – Prabhjot

関連する問題