記錄一個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/
