我有 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类(使用@XMLTransientor @XMLElement)来实现它,因为在某些情况下我想按B原样导出整个类(使用和id。)
我只是不想导出所有这些字段时该类引用自.field1field2BA
这甚至可以用 JAX-B 实现吗?