以下是我的代码,
我无法用@XmlTransient
注释注释类
netbeans IDE说注释类型不适用于此类声明。
我使用netbeans运行JDK 1.6和Jaxb 1.5。
感谢您的帮助。
import com.duncansolutions.databus.external.util.xml.XMLDateAdapter;
import com.duncansolutions.databus.external.xml.parkmobile.PayByCell;
import java.io.Serializable;
import java.util.Date;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
@XmlTransient
public class AddTime extends PayByCell implements Serializable{
private Integer transmissionId;
private Integer spaceNumber;
@XmlElement(name = "TransmissionID")
public Integer getTransmissionId() {
return transmissionId;
}
public void setTransmissionId(Integer transmissionId) {
this.transmissionId = transmissionId;
}
@XmlElement(name = "SpaceNumber")
public Integer getSpaceNumber() {
return spaceNumber;
}
public void setSpaceNumber(Integer spaceNumber)
{
this.spaceNumber = spaceNumber;
}
@XmlJavaTypeAdapter(XMLDateAdapter.class)
@XmlElement(name = "StartDateTime")
@Override
public Date getStartTime() {
return startTime;
}
@XmlJavaTypeAdapter(XMLDateAdapter.class)
@XmlElement(name = "EndDateTime")
@Override
public Date getExpTime() {
return expTime;
}
}
答案 0 :(得分:0)
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlTransient
正如您所看到的,注释@XmlTransient只能应用于FIELDs或METHODS。这就是API所说的。 此注释避免将特定成员变量写入XML中对象的表示形式。
http://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlTransient.html
答案 1 :(得分:0)
根据the documentation,@XmlTransient
仅适用于字段或方法,而不适用于类。当然,这是来自Java EE 5;似乎in Java EE 6和更新,你被允许这样做。
如果您想使用它,请确保您使用的是较新的Java EE JAR。