当前位置: 首页 > 知识库问答 >
问题:

如何注释java。sql。时间戳对象

武元白
2023-03-14

出身背景

我有一个根元素类,它包含类java的变量。sql。时间戳,我希望JAXB从该变量创建xml元素。

我试过的

  • 我创建类适配器。

导入java。sql。日期

导入java.sql.时间戳;

导入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(timestapter.class)
公共java。sql。时间戳getEndDate(){

如果(endDate==null)

retrieveInfo();

返回结束日期;

}

问题

我仍然得到这个例外

java.sql.Date does not have a no-arg default constructor.

我也检查了这个线程,但它谈论的是字符串到时间戳,而不是我的情况。

任何帮助都将不胜感激。

编辑

这个变量在类OrderStatus中,我从类OrderImpl中这样调用

@Override
    @XmlElement(name = "Status", type = OrderStatus.class)
    public OrderStatus getStatus() {
        return status;
    }

共有2个答案

轩辕晔
2023-03-14

您的适配器需要如下所示:

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)
        public Timestamp done_date;
艾跃
2023-03-14

您的XmlAdapter应该将Timestamp转换为/从java.util.Date而不是java.sql.Date

 类似资料:
  • 问题内容: 是否可以强制不在前面添加日期注释?我的意思是像这里的第一行: 我想完全摆脱它。除非进行 有意义的 更改,否则我的配置文件必须完全相同。 问题答案: 给定源代码或属性,不行,这是不可能的。顺便说一句,由于Properties实际上是一个哈希表,并且因此其键没有进行排序,因此无论如何您都不能依赖于属性始终保持相同的顺序。 如果有此要求,我将使用自定义算法来存储属性。使用Properties

  • 问题内容: 我有一个数据库,它将具有标准sql格式的UMT时间戳。如何提取数据并为其设置Java日期对象? 据我所知mysql是 至于Java,日期/时间的东西一直躲着我。 如果有人为此知道一个好的图书馆,我欢迎您提出建议。 问题答案: 为什么不直接阅读为 看到

  • 我试图使用scala和以下代码从spark流数据帧中提取值: 我想知道是否有一个等效的时间戳类型化get方法?让我更加困惑的是,在我为结构化流定义的SQL类型和通过flatMap函数访问变量的实际类型之间似乎存在某种隐藏映射(至少对我来说是隐藏的)。我看了看医生,事实确实如此。根据文件: 返回位置i处的值。如果值为null,则返回null。以下是Spark SQL类型和返回类型之间的映射: 布尔型

  • 从我的数据库我检索值为: 我想要上面的: 我试着用当前的时间戳跟踪 实际时间戳:2018年6月22日星期五16:07:35 更新了,我不想更新,有没有办法保持原样?

  • 你好,我是hibernate的新手,我的实体和数据库中都有以上字段。然而,对于我的Dao方法,我从SpringBoot控制器访问它,它不更新数据库中的UPDATE_TIME_STAMP字段,而用下面的方法执行查询更新。 另外,如果我尝试合并实体,它试图更新creationTimeStamp与NULL,这是在结束时失败,因为我保持我的POLICY_ISSUE_DATE为非NULL在数据库中。 所以我

  • 问题内容: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 问题答案: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 否。如果要定义表和列注释,最好的选择是在生成的DDL中根据事实进行操作,然后再对数据库执行操作。