原创

SpringBoot JPA自动设置创建时间、修改时间

温馨提示:
本文最后更新于 2024年02月07日,已超过 19 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

JPA提供了审计功能,用于设置创建者、创建时间、修改者、修改时间等参数。

创建时间、修改时间很好理解,就是当前时间,但是创建者、修改者一般都是通过上下文信息获取的,由于我这边是接口里面使用,未使用创建者、修改者,所以先介绍一下创建时间、修改时间的使用。

添加依赖那些巴拉巴拉的就不啰嗦。

创建实体

@Getter
@Setter
@ToString
@Entity
@Table(name = "ARAPDiscountRecord")
@EntityListeners(AuditingEntityListener.class)
public class ARAPDiscountRecordEntity implements Serializable {

    @CreatedDate
    @Column(name = "timestamp_createdon")
    private Timestamp timestampCreatedon;

    @LastModifiedDate
    @Column(name = "timestamp_lastchangedon")
    private Timestamp timestampLastchangedon;

}

@CreatedDate注解用于标识创建时间。

@LastModifiedDate注解用于标识修改时间。

实体类添加@EntityListeners(AuditingEntityListener.class)标识启动审计。

启动审计

再启用或者配置类上添加@EnableJpaAuditing启动审计。

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

这样的话,每次创建数据,系统会自动赋值timestampCreatedon列,修改数据时,系统会自动赋值timestampLastchangedon字段。

正文到此结束
本文目录