首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Spring - MySQL时间戳字段和毫秒精度

Java Spring - MySQL时间戳字段和毫秒精度
EN

Stack Overflow用户
提问于 2015-08-13 18:09:03
回答 2查看 7K关注 0票数 3

我正在尝试在MySQL数据库中存储一些精确到毫秒的时间信息。我想存储的格式是这样的2015-08-13 10:56:24.570

问题是,我必须创建具有长度属性(3或6,取决于小数部分)的表列。我用Java Spring Framework编写的应用程序会自动创建mysql表。但是我不能设置日期字段的长度属性。

"@Column批注具有length参数,但它仅适用于字符串字段。“Spring Jpa的文档如是说。

另一个有趣的部分是我不能使用@Temporal注解。我的集成开发环境给出了一个错误:“这个位置不允许注释@Temporal”。我想知道为什么我也会给出这个错误。

任何帮助对我来说都是很好的。

编辑:我用于创建mysql表的Java代码

代码语言:javascript
复制
@Entity
@Table(name = "dbTable")
public class Report
{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;


    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "myDate", nullable = false, length = 6)
    private java.util.Date date;

    // Getters Setters etc.

}
EN

回答 2

Stack Overflow用户

发布于 2015-08-13 18:14:51

将列设置为

java.sql.Timestamp

同时将时间相关信息存储在MySQL中。

简单的例子:-

代码语言:javascript
复制
  public static void main(String[] args){
    System.out.println(java.sql.Timestamp.valueOf("2013-10-10 10:49:29.12000"));
}

Output:- 2013-10-10 10:49:29.12

Read this,如果有帮助的话。

将列类型从java.util.Timestamp更改为java.sql.Timestamp。

票数 1
EN

Stack Overflow用户

发布于 2019-05-18 02:16:17

我意识到这是一个古老的帖子,但我也有同样的问题,并找到了解决它的方法。下面是我的实体的样子:

代码语言:javascript
复制
@Entity
@Table(name = "ActivityLog")
public class ActivityLogBean {
    @Basic
    @Temporal(TemporalType.TIMESTAMP)
    private java.util.Date alDateTime;
}

我在" @Temporal (TemporalType.TIMESTAMP)“行收到错误消息"The annotation @Temporal is disallowed for this location”。

问题与我正在导入的时态类有关,当我遇到问题时,我使用的import语句是:

导入org.springframework.data.jpa.repository.Temporal;

我将导入更改为以下内容,错误消失了:

导入javax.persistence.Temporal;

这是我现在的完整工人阶级:

代码语言:javascript
复制
package com.mypackage.beans;

import javax.persistence.Basic;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name = "ActivityLog")
public class ActivityLogBean {
    @Basic
    @Temporal(TemporalType.TIMESTAMP)
    private java.util.Date alDateTime;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31985266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档