Объекты Jpa через службы JAX WS без бесконечного цикла - PullRequest
5 голосов
/ 07 декабря 2010

Как я могу отправлять сгенерированные JPA сущности через веб-сервис JAX WS, не получая исключение бесконечного цикла XML из-за цикла ссылок в этих объектах?

Есть идеи? Я нашел эту МОКСИ, которая может сделать это ... частично. Но у меня уже есть созданные сущности, и я вручную добавляю XmlTransient и такие аннотации к каждой из них.

У вас есть еще идеи, как это сделать?

Спасибо!

Ответы [ 2 ]

1 голос
/ 17 мая 2012

сделать ваш getCustomer @ XmlTransient

@ XmlTransient

public Customer getCustomer () {

...

1 голос
/ 08 декабря 2010

EclipseLink JAXB (MOXy) может справиться с этим с помощью своего двунаправленного отображения с @XmlInverseReference:

import javax.persistence.*;

@Entity
public class Customer {

    @Id
    private long id;

    @OneToOne(mappedBy="customer", cascade={CascadeType.ALL})
    private Address address;

}

и

import javax.persistence.*;
import org.eclipse.persistence.oxm.annotations.*;

@Entity
public class Address implements Serializable {

    @Id
    private long id;

    @OneToOne
    @JoinColumn(name="ID")
    @MapsId
    @XmlInverseReference(mappedBy="address")
    private Customer customer;

}

Для получения дополнительной информациисм .:

Для этого вы также можете использовать внешнее представление метаданных MOXy.Для получения дополнительной информации см .:

...