SpringData 的审记功能

日常开发中,经常会遇到实体有创建时间,更新时间,创建人,更新人等字段。这些字段不是核心的业务字段,但是对于跟踪数据记录却非常重要。由于重要程度不是那么高,经常会忘了赋值,导致数据库存的是过期数据。

那么有没有自动化的方法来自动填充这些非核心的字段呢?

答案是肯定的,spring data提供一组注解来自动填充这些非核心字段。

审计注解
这些注解是:

@CreatedDate:创建时间
@LastModifiedDate:最后更新时间
@CreatedBy:创建人信息
@LastModifiedBy:最后更新人信息
在跟踪数据的字段上加上这些注解,后续spring data保存数据的时候会自动给这些字段填充数据而不用手动赋值。

如果说时间数据从系统时间获得,那么用户数据从哪里获得呢?因为到目前为止,还没有讨论关于用户数据的任何信息

 

用户数据

框架自动填充的用户数据,是由org.springframework.data.domain.AuditorAware接口提供的。程序需要注册实现这个接口的对象实例到容器中,并在开启审计功能的注解中引用这个对象

 

对于JPA的审计功能,除了上面的步骤之外,使用注解的话,还需要在每个实体类上使用@EntityListeners(AuditingEntityListener.class)注解才会生效。

posted @ 2022-06-29 20:11  杭州胡欣  阅读(85)  评论(0编辑  收藏  举报