文字列のみを含むルート要素にサブクラスを追加して、比較的単純にする必要があることをしようとしています。ただし、クライアント側では、このオブジェクトには文字列ではなく JAXBElement がマップされています。下記参照:
public class Foo {
protected Bar barObject;
}
public class Bar {
@XmlElement(nillable = true)
protected String barName;
}
生成された Bar Bean は次のようになります。
public class Bar {
@XmlElementRef(name = "barName", type = JAXBElement.class, required = false)
protected JAXBElement<String> barString;
}
これは死んだ馬を蹴っていると確信していますが、この動作の明確な説明はどこにもありません。