我正在尝试为Web服务域创建jaxb类层次结构.我发现覆盖超类中的getter方法的子类可以更改JAXB输出的元素名称,但是超类的一个也被写入输出.我想知道是否有一种方法可以抑制超类中的getter.
码:
@XmlType
class SuperClass
{
@XmlElement(name = "Name")
public String getName(){}
}
@XmlType
class SubClass extends SuperClass
{
@Override
@XmlElement(name = "CoolName")
public String getName(){}
}
当我将SubClass元素添加到XmlRootElement中时,输出XML包含两个元素,< Name>和< CoolName>.有没有办法抑制< Name>被封送?
最佳答案 你需要在SuperClass上映射名称属性吗?如果没有,你可以只标记该属性@XmlTransient.
class SuperClass
{
@XmlTransient
public String getName(){}
}