2
我在基於JDK 5的應用程序上使用JAXB。JAXB忽略沒有註釋的瞬態字段
XML編組是一個側面特徵,所以POJO模型上的註釋被排除。應該排除的字段是transient
(java關鍵字)。
有沒有辦法配置Marshaler
忽略這些字段。
下面是我用連載我的POJO到XML代碼:
JAXBContext context = JAXBContext.newInstance(BasePOJO.class, target.getClass());
JAXBElement<WsResponse> model = new JAXBElement<BasePOJO>(
new QName(target.getClass().getSimpleName()),
(Class<BasePOJO>) target.getClass(),
(BasePOJO)target
);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(model, os);
樣本POJO我需要序列:
public class APOJO extends BasePOJO {
private Long id;
private String desc;
private transient String aFieldToIgnore;
//and the accessors[...]
}