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 文