注釈を付けたクラス Foo があり@XmlRootElement
、次のようなリストである同じタイプの Foo の属性があります。また、そのリストのゲッター/セッターもあります。インターフェイスには、getter と setter の宣言があるだけです。
@XmlRootElement(name = "foo")
@XmlAccessorType(XmlAccessType.FIELD)
public class FooImpl implements Foo{
@XmlElementWrapper(name = "secondaryFooList")
@XmlElement(name = "secondaryFoo", type = FooImpl.class)
private List<Foo> secondaryFooList;
}
単体テストを作成し、新しい Foo オブジェクトを作成してリストに追加して secondaryFooList を提供し、それを Foo オブジェクトに設定すると、xml へのマーシャリングがエラーで失敗します
com.sun.istack.SAXException2: オブジェクトグラフでサイクルが検出されました。これにより、無限に深い XML が発生します。
周期的な理由はわかりますが、修正方法がわかりません。
ありがとう、