私には2つのクラスがあります:
@XmlRootElement
public class A {
private Long id;
private B b;
// setters and getters
}
と
@XmlRootElement
public class B {
private Long id;
private String field1;
private String field2;
// setters and getters
}
デフォルトでは、クラスのインスタンスをAXMLに変換すると、そのすべてのフィールド(id)と参照されるBクラスフィールド(、、id)が次のようにfield1なります。field2
<a>
<id>2</id>
<b>
<id>5</id>
<field1>test1</field1>
<field2>test3</field2>
</b>
</a>
参照されるクラスのどのフィールドがクラスBのXMLに含まれるかを変更することは可能Aですか?たとえば、クラスのインスタンスを変換するときは、クラス(noとfields)Aから取得したいだけなので、次のように取得したいと思います。idBfield1field2
<a>
<id>2</id>
<b>
<id>5</id>
</b>
</a>
クラス全体をそのまま(、、および。を使用して)エクスポートしたい場合があるため、Bクラスに永続的に注釈を付けて(@XMLTransientまたはを使用して)達成し
たくありません。クラスはから参照されます。@XMLElementBidfield1field2BA
これはJAX-Bでも可能ですか?