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();

如果项目中的数据表比较多,每一次对数据表进行写操作,都会涉及日期操作,会有很多重复工作。
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;
    //...

}

2、在Application启动类中添加注解 @EnableJpaAuditing

@SpringBootApplication
@EnableJpaAuditing
public class JerryApplication {
    public static void main(String[] args) {
        SpringApplication.run(JerryApplication.class, args);
    }
}

你可能感兴趣的:(java,springboot)