Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jaxb XmlIDREF不工作_Jaxb - Fatal编程技术网

Jaxb XmlIDREF不工作

Jaxb XmlIDREF不工作,jaxb,Jaxb,使用JAXB2.2.5b,并且 @XmlSeeAlso({BeanView.class, ViewField.class, ViewPanel.class, ViewTab.class, ElementRef.class}) @XmlRootElement public abstract class ViewElement { @XmlID @XmlAttribute public String getId() { return id; } }

使用JAXB2.2.5b,并且

@XmlSeeAlso({BeanView.class, ViewField.class, ViewPanel.class, ViewTab.class, ElementRef.class})
@XmlRootElement
public abstract class ViewElement {
   @XmlID
   @XmlAttribute
   public String getId() {      
        return id;
   }
}
@XmlRootElement(name="ref")
public class ElementRef extends ViewElement{        
    private ViewElement target;
    @XmlElement
    @XmlIDREF
    public ViewElement getTarget() {
        return target;
    }   
    public void setTarget(ViewElement target) {
        this.target = target;
    }
}
许多类扩展了抽象的ViewElement

@XmlRootElement
public class ViewField extends ViewElement{
}
@XmlRootElement
public class ViewPanel extends ViewElement{
}
在XML中,ElementRef目标元素被重复,而不是只保留id ref

<ref id="mvmCredit" >
    <target xsi:type="viewField" valueExpr="" row="0" ... all ViewField attributes >
    </target>
</ref>


在取消XML模型的映射过程中,目标为空(恢复失败)

升级到JAXB 2.2.7可以解决此问题