如何通过JAX WS Web服务发送JPA生成的实体,而无需获取 由于这些实体中引用的循环,XML无限循环异常?
有什么想法吗?我发现这个MOXy可以做到......部分。但是我已经生成了实体,并且手动将XmlTransient和这样的注释添加到每个实体中都很疯狂。
你还有其他想法怎么做吗?
谢谢!
答案 0 :(得分:1)
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的元数据外部化表示。有关更多信息,请参阅:
答案 1 :(得分:1)
制作你的getCustomer @XmlTransient
@XmlTransient
public Customer getCustomer(){
...