审记功能在Jpa框架里出现的,主要针对实体的几个字段进行自动化的赋值,让业务人员可以把关注点放在业务上,对于公用的,有规则的字段,由系统帮我们去处理。
原理
通过spring aop功能实现对es仓库接口方法的拦截,然后在方法处理之前,为实体的这些公用字段赋值即可,我们使用了jpa里的一些注解,如@CreateBy,@CreateDate,@LatestModifyDate等等。
EsBaseEntity实体
@Data
public class EsBaseEntity {
public static final String dateTimeFormat = "yyyy/MM/dd||yyyy-MM-dd" +
"||yyyy-MM-dd HH:mm:ss||yyyy/MM/dd HH:mm:ss" +
"||yyyy-MM-dd HH:mm:ss.SSS||yyyy/MM/dd HH:mm:ss.SSS" +
"||yyyy-MM-dd'T'HH:mm:ss.SSS";
/**
* 创建时间.
*/
@Field(type = FieldType.Date, format = DateFormat.custom, pattern = dateTimeFormat)
@CreatedDate
protected String createTime;
/**
* 创建人.
*/
@Field(type = FieldType.Keyword)
@CreatedBy
protected String creator;
/**
* 更新时间.
*/
@Field(type = FieldType.Date, format = DateFormat.custom, pattern = dateTimeFormat)
@LastModifiedDate
protected String updateTime;
/**
* 更新人.
*/
@Field(type = FieldType.Keyword)
@LastModifiedBy
protected String updateUser;
/**
* 删除标记