문제
@CreatedDate, @LastModifiedDate를 사용할 때 필드의 값이 NULL이 된다.
해결
1. Application 파일에 @EnableJpaAuditing 어노테이션 추가
@SpringBootApplication
@EnableJpaAuditing
public class FoundationApplication {
public static void main(String[] args) {
SpringApplication.run(FoundationApplication.class, args);
}
}
EnableJpaAuditing
- 엔티티 생성, 변경 시 값을 주입해야 하는 번거로움을 해소하기 위해 Spring Data JPA에서 값을 자동으로 넣어주는 기능을 제공한다.
2. @CreatedDate, @LastModifiedDate 를 선언한 Entity에 @EntityListeners(AuditingEntityListener.class) 어노테이션 추가 -> 해당 클래스에 Auditing 기능을 포함
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Post {
@CreatedDate
@Column(name = "created_date")
private LocalDateTime createdDate;
@LastModifiedDate
@Column(name = "modified_date")
private LocalDateTime modifiedDate;
}
DB
값이 잘 들어간 것을 확인할 수 있다!
참고