2010-12-07 33 views
5

Bir JAX WS web hizmeti üzerinden, bu varlıklardaki referans döngüsü nedeniyle XML sonsuz döngüsü istisnası almadan JPA oluşturulan varlıkları nasıl gönderebilirim?Sonsuz döngü olmadan bir JAX WS hizmetleri üzerinde Jpa varlıkları

Herhangi bir fikrin var mı? Bunu yapabilen bu MOXy'yi ... kısmen buldum. Ama zaten XmlTransient ve her biri için bu gibi ek açıklamaları eklemek ve elle ekledik varlıklar var, bu çılgın.

Nasıl yapılacağı hakkında başka bir fikriniz var mı?

Teşekkürler!

cevap

1

EclipseLink JAXB (MOXy) @XmlInverseReference ile çift yönlü haritalama ile bu işleyebilir:

import javax.persistence.*; 

@Entity 
public class Customer { 

    @Id 
    private long id; 

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

} 

ve

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; 

} 

Daha fazla bilgi için bkz:

Ayrıca bu meta verilerinin MOXY'nin dışsal gösterimi kullanabilir. Daha fazla bilgi için bkz:

+0

dude. blogunu biliyorum. okudum oldukça havalı. Yardım için teşekkürler. Ama bu sorun var: Veritabanından üretilen birçok varlıkla uğraşıyorum (birçok araçta olduğu gibi). Onları otomatik olarak @ XmlInverseRefrence oluşturacak şekilde nasıl özelleştirebilirim? Teşekkürler: D – Andr

1

{) (

@XmlTransient

kamu Müşteri GetCustomer

sizin GetCustomer @XmlTransient yapmak

...