欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

java 注解 long转date_Spring data jpa时间注解

发布时间:2025/3/20 javascript 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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时间注解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。