记录一个bug
Class has two properties of the same name "iflight"
this problem is related to the following location:
at public java.lang.String com.tg.dc.pojo.Lstdetail.getIflight()
at com.tg.dc.pojo.Lstdetail
at public java.util.List com.tg.dc.pojo.IBEPassengerStatResponseDetail.businessreportLstdetail
at com.tg.dc.pojo.IBEPassengerStatResponseDetail
at public com.tg.dc.pojo.IBEPassengerStatResponseDetail com.tg.dc.pojo.PerBasicMainObject.getIBEPassengerStatResponseDetail()
at com.tg.dc.pojo.PerBasicMainObject
this problem is related to the following location:
at public java.lang.String com.tg.dc.pojo.Lstdetail.iflight
at com.tg.dc.pojo.Lstdetail
at public java.util.List com.tg.dc.pojo.IBEPassengerStatResponseDetail.businessreportLstdetail
at com.tg.dc.pojo.IBEPassengerStatResponseDetail
at public com.tg.dc.pojo.IBEPassengerStatResponseDetail com.tg.dc.pojo.PerBasicMainObject.getIBEPassengerStatResponseDetail()
at com.tg.dc.pojo.PerBasicMainObject
代码如下:
@Setter
@Getter
@XmlRootElement(name = "DATA")
public class PerBasicMainObject implements Serializable{
private IBEPassengerStatResponseDetail iBEPassengerStatResponseDetail;//
private List<PerInvestmentFr> investmentfr;
@XmlElementWrapper(name="RYPOSFR")
@XmlElement(name="ITEM")
public void setInvestmentfr(List<PerInvestmentFr> investmentfr) {
this.investmentfr = investmentfr;
}
}
iflight 是 IBEPassengerStatResponseDetail 类的 Lstdetail 类属性的属性,
IBEPassengerStatResponseDetail类中有的属性需要转为xml如:investmentfr,有的则不需要转,如:IBEPassengerStatResponseDetail;
网上查找了下,@XmlRootElement(name = "DATA")标注在PerBasicMainObject类上,类中的field都会变成了子Element,
默认情况下,如果类中不存在 @XmlAccessorType,并且没有任何超类是使用 @XmlAccessorType 注释的,则假定在类中使用以下默认注释:
@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER)
XmlAccessType可能值:
FIELD: JAXB 绑定类中的每个非静态、非瞬态字段将会自动绑定到 XML,除非由 XmlTransient 注释。
NONE: 所有字段或属性都不能绑定到 XML,除非使用一些 JAXB 注释专门对它们进行注释。
PROPERTY: JAXB 绑定类中的每个获取方法/设置方法对将会自动绑定到 XML,除非由 XmlTransient 注释。
PUBLIC_MEMBER:每个公共获取方法/设置方法对和每个公共字段将会自动绑定到 XML,除非由 XmlTransient 注释。
所以最后在PerBasicMainObject类上标注@XmlAccessorType(XmlAccessType.NONE) 问题解决。
以下是关于JAXB注解的链接
http://blog.csdn.net/hongtaq/article/details/8212578
http://zhgw01.blog.163.com/blog/static/104148122010117112047695/