javascript
java 注解 long转date_Spring data jpa时间注解
在設計數據表時,常常需要兩個字段:創建時間和修改時間。這兩個字段類型一般為Date類型的日期或Long類型的時間戳。
傳統的做法就是先生成對應的日期或時間戳,然后保存到數據庫中。
下面是Java中生成日期的方法://創建日期:Fri Aug 14 16:45:05 CST 2020
Date date = new Date();
//創建格式化日期對象,設置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格式化日期:2020-08-21 16:45:05
String dateString = df.format(date);
Java中生成時間戳的方法://方法一:推薦
System.currentTimeMillis();
//方法二:速度比較慢
Calendar.getInstance().getTimeInMillis();
//方法三
new Date().getTime();
Java中Date類型日期與Long類型的時間戳互轉://Date類型的date對象轉long時間戳
date.getTime();
//long時間戳轉Date類型
new Date(1598002487530L);
如果項目中的數據表比較多,每一次對數據表進行寫操作,都會涉及日期操作,會有很多重復工作。
Spring Data JPA提供了相應的實體類注解,可以在寫入數據時,自動更新實體創建時間和修改時間。
1、在實體類上加上注解 @EntityListeners(AuditingEntityListener.class),在相應的字段上添加對應的時間注解 @LastModifiedDate 和 @CreatedDate@Entity
@EntityListeners(AuditingEntityListener.class)
public class Sites {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@CreatedDate
private Date createDate;
@LastModifiedDate
private Date lastModifiedDate;
//...
}
注意:這里的CreatedDate和LastModifiedDate的類型可以是Date或Long,如果類型為Long,代表生成時間戳。
2、在Application啟動類中添加注解 @EnableJpaAuditing@SpringBootApplication
@EnableJpaAuditing
public class JerryApplication {
public static void main(String[] args) {
SpringApplication.run(JerryApplication.class, args);
}
}
補充:Hibernate 也提供了類似上述時間注解的功能實現,這種方法只需要在實體類上配置,更改為注解 @UpdateTimestamp 和 @CreationTimestamp 即可@Entity
public class Sites {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@CreationTimestamp
private Date createDate;
@UpdateTimestamp
private Date lastModifiedDate;
//...
}
注意:使用@UpdateTimestamp 和 @CreationTimestamp的屬性類型只能為Date,不能為Long,意味著不能直接生成時間戳。
總結
以上是生活随笔為你收集整理的java 注解 long转date_Spring data jpa时间注解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java编程题库下载_Java习题
- 下一篇: html5 文件转byte[],JS 文