JAXB2注释和子类
我目前在JAXB上遇到了一个棘手的问题。因此,我有以下班级结构: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() {
@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方法后,解组工作正常