2014-01-31 45 views
0

下面是我的代码,不能够注释与@XmlTransient注解类

如果我不能够注释一类@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
@Retention(value=RUNTIME) 
@Target(value={FIELD,METHOD}) 
public @interface XmlTransient 

正如你可以看到标注@XmlTransient只能在字段或方法被应用。这就是API所说的。 这个注解避免了将特定的成员变量写入XML中对象的表示形式。

http://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlTransient.html 
+0

这很有用? – Koitoer

0

根据the documentation@XmlTransient只适用于一个场或一个方法,不是类。这当然是来自Java EE 5;看起来in Java EE 6和更新,你被允许这样做。

如果要使用它,请确保您使用的是较新的Java EE JAR。