【发布时间】:2013-05-24 21:03:12
【问题描述】:
背景
我有一个根元素类,其中包含 java.sql.Timestamp 类的变量,我希望 JAXB 从该变量创建 xml 元素。
我的尝试
- 我创建了类适配器。
导入 java.sql.Date;
导入 java.sql.Timestamp;
导入 javax.xml.bind.annotation.adapters.XmlAdapter;
public class TimestampAdapter extends XmlAdapter <Date, Timestamp> {
public Date marshal(Timestamp v) { return new Date(v.getTime()); } public Timestamp unmarshal(Date v) { return new Timestamp(v.getTime()); }}
- 。然后我注释了获取该变量的函数:
@XmlJavaTypeAdapter(TimestampAdapter.class)
公共 java.sql.Timestamp getEndDate() {如果(结束日期 == null)
检索信息();
返回结束日期;
}
问题
我仍然得到这个异常
java.sql.Date does not have a no-arg default constructor.
我也检查了This Thread,但它是在谈论字符串到时间戳,而不是我的情况。
任何帮助将不胜感激。
编辑
这个变量在OrderStatus类中,我像这样从OrderImpl类中调用它
@Override
@XmlElement(name = "Status", type = OrderStatus.class)
public OrderStatus getStatus() {
return status;
}
【问题讨论】:
-
@BlaiseDoughan 不是重复的,请检查问题,是关于
java.sql.date,而不是java.util.date