@CreatedDate ,@CreationTimestamp는 자동으로 입력한 시간을 컬럼에 저장해주는 역할을 한다
@CreatedDate는 자바 애플리케이션의 시간을 기준으로 적용이 되고 Spring Data JPA에서 제공된다
@CreationTimestamp은 db 서버의 현재 시간을 사용을 하고 Hibernate에서 제공이 된다
@CreatedDate 사용법 @Entity @EntityListeners(AuditingEntityListener.class) public class User { @Id @GeneratedValue private Long id; @CreatedDate @Column(updatable = false) private LocalDateTime createdAt; }
1.Configuration 클래스에 @EnableJpaAuditing 선언
@Configuration @EnableJpaAuditing public class JpaConfig { }
2.메인 애플리케이션 클래스 @EnableJpaAuditing 선언
@SpringBootApplication @EnableJpaAuditing public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
위와 같은 방법으로 엔티티 클래스에 @EntityListeners(AuditingEntityListener.class) 을 선언하고 createdAt 컬럼에 @CreatedDate 선언 후 위와 같이 @EnableJpaAuditing을 메인 애플리케이션 클래스 혹은 config클래스에 선언을 해줘야 된다
@CreationTimestamp 사용법@Entity public class User { @Id @GeneratedValue private Long id; @CreationTimestamp @Column(updatable = false) private Timestamp createdAt; }
위와 같은 방법으로 createdAt컬럼에 @CreationTimestamp를 선언해주면 된다