我有 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
?例如我想说当我转换A
类的实例时,我只想id
从B
类中获取(没有field1
和field2
字段),所以我想得到:
<a>
<id>2</id>
<b>
<id>5</id>
</b>
</a>
我不想永久注释B
类(使用@XMLTransient
or @XMLElement
)来实现它,因为在某些情况下我想按B
原样导出整个类(使用和id
。)
我只是不想导出所有这些字段时该类引用自.field1
field2
B
A
这甚至可以用 JAX-B 实现吗?