spring data jpa (2) 审计
Published on: | Views: 86这个功能其实很实用, 经常我们在插入记录的时候,会有create_time和update_time来记录创建与修改时间,有时候还要记录是谁创建/修改的, 经常这些信息要自己手工填写, 而现在jpa提供了自动化功能,加速开发。
建表时设置审计字段
create_time datetime default current_timestamp,
update_time datetime default current_timestamp on update current_timestamp,
modify_user varchar(128)
增加依赖
compile('org.springframework:spring-aspects')
配置
@EnableJpaAuditing
public class JpaConfiguration {
@Bean
public AuditorAware<String> auditorProvider() {
return () -> Optional.of("operate_user_id");
}
}
@EnableJpaAuditing 用于开启审计功能 auditorProvider 用于提供当前用户信息
实体上增加注解
@Entity
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@EntityListeners(AuditingEntityListener.class)
public class TestEntity extends BaseEntity {
// .....
@CreatedDate
private Date createTime;
@LastModifiedDate
private Date updateTime;
@CreatedBy
private String createUser;
}
在保存实体的时候,就不再需要设置这几个字段了,是不是非常方便呢。