JPA で生成されたエンティティーを JAX WS Web サービス経由で送信するには、これらのエンティティーでの参照のサイクルが原因で、XML 無限サイクル例外が発生しないようにするにはどうすればよいですか?
何か案が?私はそれを行うことができるこのMOXyを見つけました...部分的に。しかし、私はすでにエンティティを生成しており、XmlTransient などの注釈をそれぞれに手動で追加するのはクレイジーです。
それを行う方法が他にありませんか?
ありがとう!
JPA で生成されたエンティティーを JAX WS Web サービス経由で送信するには、これらのエンティティーでの参照のサイクルが原因で、XML 無限サイクル例外が発生しないようにするにはどうすればよいですか?
何か案が?私はそれを行うことができるこのMOXyを見つけました...部分的に。しかし、私はすでにエンティティを生成しており、XmlTransient などの注釈をそれぞれに手動で追加するのはクレイジーです。
それを行う方法が他にありませんか?
ありがとう!
getCustomer @XmlTransient を作成します
@XmlTransient
パブリック カスタマー getCustomer() {
...
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 のメタデータの外部化された表現を使用することもできます。詳細については、次を参照してください。