[英]Java Spring - MySQL timestamp field and millisecond precision
我試圖以毫秒精度在MySQL數據庫中存儲一些時間信息。 我要存儲的格式是2015-08-13 10:56:24.570
。
問題是,我必須創建具有長度屬性的表列(3或6,取決於小數部分)。 我用Java Spring Framework編寫的應用程序會自動創建mysql表,如果它之前沒有創建的話。 但我無法設置日期字段的長度屬性。
“ @Column
注釋具有長度參數,但只有String字段才有。” 春天Jpa的文件說。
另一個有趣的部分是我無法使用@Temporal
注釋。 我的IDE給出了一個錯誤:“此位置不允許注釋@Temporal
”。 我想知道為什么我也給出了這個錯誤。
任何幫助對我來說都很棒。
編輯:我的Java代碼用於創建mysql表
@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.
}
制作類型的列
的java.sql.Timestamp
同時在MySQL中存儲與時間相關的信息。
簡單示例: -
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
閱讀本文 ,如果有幫助的話。
將列類型從java.util.Timestamp更改為java.sql.Timestamp。
我意識到這是一個很老的帖子,但我遇到了同樣的問題,想出了解決方法。 這是我的實體看起來像:
@Entity
@Table(name = "ActivityLog")
public class ActivityLogBean {
@Basic
@Temporal(TemporalType.TIMESTAMP)
private java.util.Date alDateTime;
}
我在“@Temporal(TemporalType.TIMESTAMP)”行上收到錯誤消息“對此位置禁止注釋@Temporal”。
問題與我導入的Temporal類有關,當我遇到問題時我使用的import語句是:
import org.springframework.data.jpa.repository.Temporal;
我將導入更改為以下內容,錯誤消失了:
import javax.persistence.Temporal;
這是我現在的全職工作班:
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.