5

由于这些实体中的引用循环,如何通过 JAX WS Web 服务发送 JPA 生成的实体而不会出现 XML 无限循环异常?

任何的想法?我发现这个 MOXy 可以做到……部分。但是我已经生成了实体并手动向它们中的每一个添加 XmlTransient 和此类注释,这太疯狂了。

您还有其他想法吗?

谢谢!

4

2 回答 2

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 的元数据的外部化表示。有关更多信息,请参阅:

于 2010-12-08T19:34:57.817 回答
1

让你的 getCustomer @XmlTransient

@XmlTransient

公共客户 getCustomer() {

...

于 2012-05-17T16:24:56.207 回答