JAXB2注释和子类

JAXB2注释和子类,jaxb,marshalling,subclass,unmarshalling,Jaxb,Marshalling,Subclass,Unmarshalling,我目前在JAXB上遇到了一个棘手的问题。因此,我有以下班级结构: @XmlType public abstract class MySuperClass { ... ... @XmlTransient public Double getValue() ... ... } @XmlType public class MySubClass extends MySuperClass { public Double getValue() {

我目前在JAXB上遇到了一个棘手的问题。因此,我有以下班级结构:

@XmlType
public abstract class MySuperClass
{
    ...
    ...
    @XmlTransient
    public Double getValue() ...
    ...
}

@XmlType
public class MySubClass extends MySuperClass
{
    public Double getValue()
    {
        return 100.00;
    }
}

@XmlType
public class MySubClass2 extends MySuperClass
{
    public Double getValue()
    {
        return 100.00;
    }
}
现在,在我的另一个JAXB注释类中,我希望这样做:

@XmlType
public class MyOtherClass
{
    private MySuperClass var;

    public MySuperClass getVar()
    {
        return this.var;
    }
}
因此,原因是我想在运行时设置var,以便实际返回类型为MySubClass或MySubClass2。编组到XML是完美的,但是,反编组回java类给了我空值。未调用setter方法。如何正确解组并仍然维护类层次结构

非常感谢你的帮助


谢谢,

好的,这个问题解决了。JAXB似乎只在类中寻找声明的setter方法,而不去父类。重写子类中的setter方法后,解组工作。

好,解决了这个问题。JAXB似乎只在类中寻找声明的setter方法,而不去父类。在重写子类中的setter方法后,解组工作正常