В EclipseLink 2.2.0, похоже, есть ошибка, которая была исправлена в более поздних выпусках EclipseLink.Вы по-прежнему будете видеть это исключение в последнем выпуске EclipseLink, если вы используете доступ по умолчанию (XmlAccessType.PUBLIC
), но аннотируете поле:
package forum9610190;
import javax.xml.bind.annotation.XmlTransient;
import org.joda.time.DateTime;
public class Root {
@XmlTransient
private DateTime startTime;
public DateTime getStartTime() {
return startTime;
}
public void setStartTime(DateTime startTime) {
this.startTime = startTime;
}
}
Параметр № 1 - аннотируйте свойство
Вместо поля аннотации вы можете аннотировать свойство (метод get) с помощью @XmlTransient
:
package forum9610190;
import javax.xml.bind.annotation.XmlTransient;
import org.joda.time.DateTime;
public class Root {
private DateTime startTime;
@XmlTransient
public DateTime getStartTime() {
return startTime;
}
public void setStartTime(DateTime startTime) {
this.startTime = startTime;
}
}
Опция # 2 - аннотируйте поле и используйте @XmlAccessorType (XmlAccessType).FIELD)
Если вы хотите аннотировать поле, вам необходимо указать @XmlAccessorType(XmlAccessType.FIELD)
для вашего класса:
package forum9610190;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlTransient;
import org.joda.time.DateTime;
@XmlAccessorType(XmlAccessType.FIELD)
public class Root {
@XmlTransient
private DateTime startTime;
public DateTime getStartTime() {
return startTime;
}
public void setStartTime(DateTime startTime) {
this.startTime = startTime;
}
}
Для получения дополнительной информации