IT공부/Spring Boot

[Spring Boot] 생성일 자동 설정 비교

Johnnnn 2025. 4. 8. 11:40

✅ @CreatedDate vs @CreationTimestamp

 

  @CreatedDate @CreatedTimestamp
제공 Spring Data JPA Hibernate
조건 @EnableJpaAuditing + @EntityListeners 필요 별다른 설정 없이 작동
작동 시점 persist() 전 단계에 Spring이 값 지정 Hibernate가 insert 시점에 DB에 넣음
장점 더 유연하게 커스터마이징 가능 설정이 간단하고 빠르게 적용됨
단점 설정 필요 (Auditing) Spring Data Auditing과 중복되면 ❌ 충돌 가능

🟢 요약

  • 둘 다 "생성일 자동 설정"이지만 작동 방식이 다르고, 중복해서 쓰면 안 됨!
  • Spring에서 BaseEntity 만들어서 @CreatedDate 사용하는 걸 선호하는 추세라고함.
    → 그럼 하나의 방식으로 전 엔티티가 관리돼서 협업에 유리하다.

❌ 주의할 점!

프로젝트에 @EnableJpaAuditing 이 설정돼 있어야 함.
보통 @SpringBootApplication 클래스 위에 추가함.

@EnableJpaAuditing
@SpringBootApplication
public class MyApplication { ... }

그리고 AuditingEntityListener도 @EntityListeners에 꼭 지정돼야 작동함.