데이터베이스의 CREATED_AT, LAST_MODIFIED_AT 컬럼에 값이 담기지 않는 문제
엔티티 등록 일시와 수정 일시를 여러 엔티티에서 사용하기 위해 부모클래스를 다음과 같이 만들었다.
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class Auditable {
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdAt;
@Setter
@LastModifiedDate
@Column(name = "LAST_MODIFIED_AT")
private LocalDateTime modifiedAt;
}
@MappedSuperclass, @EntityListeners(AuditingEntityListener.class) 도 잘 적용해 줬고…
그리고 생성일시 수정일시가 엔티티 저장시점에 자동으로 초기화되도록 @CreatedDate, @LastModifiedDate 를 달아줬다.
@NoArgsConstructor
@Data
@Entity
public class Member extends Auditable {
...
...
}
그리고 사용할 Member 엔티티 클래스에서 Auditable을 상속하도록 했다.
근데 막상 Member 엔티티를 저장해보면 상속받은 필드 값들이 죄다 null 로 나오는 것이었다…
필드 자체가 적용은 됐는데 초기화가 되지 않았다.

Member와 Auditable 클래스 자체는 제대로 작성한 건 맞는데
👉🏻 원인은 애플리케이션 실행 클래스인 메인 클래스에도 추가로 애너테이션을 달아줘야 하는게 있는데 그걸 빼먹었던 것이 문제.
**@EnableJpaAuditing 👈🏻 이거이거**
@SpringBootApplication
public class PracticeTransactionApplication {
public static void main(String[] args) {
SpringApplication.run(PracticeTransactionApplication.class, args);
}
}