@EnableJdbcAuditing 是 Spring Data JDBC 提供的一个注解,用于启用审计功能(Auditing)。它主要负责自动填充实体类中的审计字段,比如 createdBy、createdDate、lastModifiedBy 和 lastModifiedDate。 以下从功能、实现逻辑和源码解析三个方面详细说明。 1. 功能 @EnableJdbcAuditing 提供以下功能: 自动填充创建和修改时间:在插入或更新记录时,自动填充实体类中的时间字段(如 createdDate 和 lastModifiedDate)。 支持用户信息:可以自动填充创建者和修改者信息(如 createdBy 和 lastModifiedBy),需要配合自定义 AuditorAware 实现。 2. 使用示例 数据库表 假设有一张用户表 user: CREATE TABLE user ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), created_by VARCHAR(50), created_date TIMESTAMP, last_modified_by VARCHAR(50), last_modified_date TIMESTAMP ); 实体类 定义对应的实体类,标注审计字段: import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; […]