【发布时间】:2012-06-13 16:11:10
【问题描述】:
我有 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、@987654328 @) 像这样:
<a>
<id>2</id>
<b>
<id>5</id>
<field1>test1</field1>
<field2>test3</field2>
</b>
</a>
是否可以修改 B 引用类的 what 字段包含在 A 类的 XML 中?例如。我想说的是,当我转换A类的实例时,我只想从B类中得到id(没有field1和field2字段),所以我想得到:
<a>
<id>2</id>
<b>
<id>5</id>
</b>
</a>
我不想永久注释B 类(使用@XMLTransient 或@XMLElement)来实现它,因为在某些情况下我想按原样导出整个B 类(使用@ 987654342@、field1 和 field2。)
当B 类从A 引用时,我只是不想导出所有这些字段。
使用 JAX-B 是否也能做到这一点?
【问题讨论】: