ホームページ  >  に質問  >  本文

java - hibernate 时间类型转换,date 属性的时间字段取出来后变样了

这个是字段属性

@Column(name = "create_time",insertable = false,updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date create_time;
保存在mysql的时候数据是正确的,
create_time
2016-08-30 09:27:30
2016-08-30 09:31:32

但是取出来的时候变成了

"create_time": "2016-08-30T01:31:32.000+0000",

这种时间,怎么才能做成数据库那样的时间返回格式呢
程序是直接return 这个对象后 返回 json 的
自己查询过一些答案,都是取出来自己去格式化的,可是我这里是直接返回对象json解析,对象的属性是 date 类型,格式化后转换成 string 后没办法 set 了

这个程序里面我看之前的人好像写了一个自定义类型的 string-binary (对应数据库存 varbinary)

@Column(name = "content",nullable = false)
@Type(type = "string-binary")
private String content;

这个时间是不是也得需要这样,自己自定义一个类型去弄?

还有,我想以后数据库保存时间字段都保存成时间戳该怎么注解字段的默认值呢

我是从PHP转到Java来的,不怎么懂
公司的Java跑了,唉,赶鸭子上架

PHP中文网PHP中文网2741日前968

全員に返信(2)返信します

  • 阿神

    阿神2017-04-18 09:58:01

    ついに解決策を見つけました:
    自分でカスタム タイプを追加する必要があります
    自定义类 LocalDateTimeType

    リーリー

    次に、プロジェクトでこのタイプを構成します
    そこにモデル構成を導入します

    リーリー

    最後に、カスタム形式が必要なフィールドにこのタイプに注釈を付けます

    リーリー

    確定申告はこんな感じ

    リーリー

    返事
    0
  • PHPz

    PHPz2017-04-18 09:58:01

    Date とさまざまな String 型形式の間の変換を実装する DateUtils.java クラスを提供します。

    リーリー

    返事
    0
  • キャンセル返事