Tengo un gráfico de objetos que contiene un ciclo. ¿Cómo hago para que JAXB maneje esto? Intenté usar la anotación @XmlTransient
en la clase secundaria, pero el contador de referencias JAXB todavía detecta el ciclo.JAXB Asignación de referencias cíclicas a XML
@Entity
@XmlRootElement
public class Contact {
@Id
private Long contactId;
@OneToMany(mappedBy = "contact")
private List<ContactAddress> addresses;
...
}
@Entity
@XmlRootElement
public class ContactAddress {
@Id
private Long contactAddressId;
@ManyToOne
@JoinColumn(name = "contact_id")
private Contact contact;
private String address;
...
}
Quizás esto sea un problema JAX-RS. Aún recibo la excepción que indica que se detectó un ciclo - javax.ws.rs.WebApplicationException: javax.xml.bind.MarshalException - con excepción vinculada: [com.sun.istack.SAXException2: se detecta un ciclo en el gráfico de objetos . –
Deberá agregar un archivo jaxb.properties que especifique el tiempo de ejecución de EclipseLink MOXy. He agregado las instrucciones a mi respuesta anterior. –
Funciona muy bien. Gracias. –