我有两个处于层次关系的对象。我在子pojo中有setter方法的jaxb映射。在将xml加载到pojo时,我没有任何问题。但是,在生成xml时,我在xml中看到两个元素条目,对于pojo对象中的相同属性 - 一个具有映射键,另一个具有实际变量名。
实施例: //父类
public class Employee {
private String name;
public String getName(){
return this.name;
}
public void setName(String name){
this.name=name;
}
}
//second class
@XmlRootElement(name = "teacher")
public class Teacher extends Employee {
@Override
public String getName(){
return super.getName();
}
@Override
@XmlElement(name ="NAME")
public void setName(String name){
super.setname(name)
}
}
//xml out put I get is
// like this
<teacher>
<name>John Doe<name/>
<NAME>John Doe</NAME>
</teacher>
我该如何解决这个问题?我只想要一个带钥匙的人 - NAME
答案 0 :(得分:0)
您可以这样做:
name
上的Emoloyee
属性标记为@XmlTransient
。Employee
类标记为@XmlTransient
,将其作为映射类删除。name
类中删除Teacher
属性,并使用Employee
注释在@XmlElement
上注释该属性。