1

注釈を付けたクラス 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 が発生します。

周期的な理由はわかりますが、修正方法がわかりません。

ありがとう、

4

0 に答える 0