Я использую реализацию MOXy JAXB и довольно широко использую аннотацию @XmlInverseReference. Однако недавно я столкнулся со сценарием, в котором этот подход, похоже, не работает. Если у меня есть класс, содержащий поле со свойством того же типа, что и родительский класс, применение @XmlInverseReference, похоже, полностью подавляет сортировку этого свойства. Пропуск аннотации дает предсказуемое исключение StackoverflowException.
Кто-нибудь сталкивался с этой проблемой и нашел эффективное решение с помощью MOXy?
Быстрый образец оскорбительного класса:
public class Person {
private Long id;
private Person spouse;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@XmlInverseReference(mappedBy="spouse")
public Person getSpouse() {
return spouse;
}
public Person setSpouse(Person spouse) {
this.spouse = spouse;
}
}