私には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
}
デフォルトでは、クラスのインスタンスをA
XMLに変換すると、そのすべてのフィールド(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
から取得したいだけなので、次のように取得したいと思います。id
B
field1
field2
<a>
<id>2</id>
<b>
<id>5</id>
</b>
</a>
クラス全体をそのまま(、、および。を使用して)エクスポートしたい場合があるため、B
クラスに永続的に注釈を付けて(@XMLTransient
またはを使用して)達成し
たくありません。クラスはから参照されます。@XMLElement
B
id
field1
field2
B
A
これはJAX-Bでも可能ですか?