如何通過JAX WS Web服務發送JPA生成的實體而不會因爲這些實體中的引用循環而使 出現XML無限循環異常?通過JAX WS服務的Jpa實體無死循環
有什麼想法?我發現這個可以做到這一點的MOXY ...部分。但我已經有了生成的實體,並且手動添加XmlTransient和這些註釋給它們每個都是瘋狂的。
你有任何其他想法如何做到這一點?
謝謝!
如何通過JAX WS Web服務發送JPA生成的實體而不會因爲這些實體中的引用循環而使 出現XML無限循環異常?通過JAX WS服務的Jpa實體無死循環
有什麼想法?我發現這個可以做到這一點的MOXY ...部分。但我已經有了生成的實體,並且手動添加XmlTransient和這些註釋給它們每個都是瘋狂的。
你有任何其他想法如何做到這一點?
謝謝!
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;
}
欲瞭解更多信息,請參閱:
您也可以使用這個元數據的莫西的外化表現。欲瞭解更多信息,請參閱:
讓你GETCUSTOMER @XmlTransient
@XmlTransient
公衆客戶GETCUSTOMER(){
...
夥計。我知道你的博客。我讀它很酷。感謝幫助。但有這個問題:我正在處理從數據庫生成的許多實體(就像許多工具可以做到的那樣)。我如何定製它們以便它們自動生成@XmlInverseRefrence?感謝:D – Andr 2010-12-08 22:30:37