2017-08-04 75 views
1

我的问题循环引用是最佳(或优选)做法上防止与XMLJAXB解析上具有JPA实体AB之间的双向关系循环引用,如下图所示:防止在JAXB XML解析

     A 
       ________ |__________ 
       |     | 
       B     C 
     ________|__________ 
    |     | 
    A     A 

我正在通过与@XmlTransient标记适当的关系来解决此问题。 是否有任何JAXB实现提供API级别的标准分辨率?

回答

2

您应该使用@XmlID@XmlIDREF


@XmlAccessorType(XmlAccessType.FIELD) 
public class A{ 
    @XmlAttribute 
    @XmlID 
    private String id; 

    @XmlElement 
    private B b; 

@XmlAccessorType(XmlAccessType.FIELD) 
public class B{ 
    @XmlAttribute 
    @XmlID 
    private String id; 

    @XmlIDREF 
    private A a; 

HereBlaise Doughan

论坛的一个例子