TIL) @EnableJpaAuditing 은 무엇인가?
@EnableJpaAuditing
스프링 프레임워크에서 JPA를 사용할 때 제공하는 기능 중 하나입니다. 이 어노테이션을 사용하면 엔티티(모델 클래스)의 생성일자와 수정일자를 자동으로 기록해줍니다. 이렇게 하면 앞서 설명한 것처럼 데이터가 언제 생성되었고, 언제 변경되었는지를 추적하기 용이해지며, 보다 효과적으로 데이터를 관리할 수 있게 됩니다.
JPA와의 관계
JPA는 "Java Persistence API"의 약자로, 자바 언어를 위한 데이터 영속성(데이터베이스와의 상호작용)을 처리하는 자바 표준 스펙입니다. JPA는 객체와 관계형 데이터베이스 사이의 매핑을 쉽게 해주는 도구이며, 객체 지향 프로그래밍 언어인 자바의 객체를 SQL 데이터베이스 테이블에 자동으로 매핑해주는 기능을 제공합니다.
간단히 말하자면, JPA는 자바 객체와 데이터베이스 테이블 사이의 매핑을 도와주는 기술이며, @EnableJpaAuditing은 JPA를 사용할 때 자동으로 생성일자와 수정일자를 추적할 수 있도록 도와주는 스프링의 기능입니다. 이렇게 함으로써 데이터의 변경 이력을 간단하게 파악할 수 있고, 데이터 관리가 용이해집니다.
5살에게 말해보자!
JPA는 컴퓨터에서 자료를 저장하고 꺼내올 때 도와주는 마법이에요. 마치 마법사처럼, JPA를 사용하면 우리가 만든 물건(객체)들을 컴퓨터 속 큰 상자(데이터베이스)에 넣을 수 있답니다. @EnableJpaAuditing이란 마법은 컴퓨터가 우리 물건을 상자에 넣을 때, 그리고 꺼낼 때 언제했는지를 자동으로 적어두는 기능이에요. 예를 들어, 우리가 집을 짓는다고 가정해봐요. 집을 짓는 날짜와 집을 고친 날짜를 기록해둔다면, 나중에 언제 집을 만들었는지와 언제 고쳤는지를 쉽게 알 수 있겠죠? 이렇게 JPA와 @EnableJpaAuditing 마법을 사용하면 컴퓨터가 우리가 만든 물건들을 보다 편리하게 기억하고, 데이터를 잘 관리할 수 있어요!
즉, @EnableJpaAuditing은 데이터베이스에 데이터를 저장할 때 등록하는 시간과 수정하는 시간을 관리하는 기능이라고 생각하면 된다!