JPA Auditing을 이용하여 Entity에 생성시간, 수정시간 자동 부여

Entity에 정의된 LocalDateTime 변수에 @CreatedDate, @LastModifiedDate등의 Annotation을 정의하면,

자동으로 Entity가 생성된 시간이나, 마지막으로 수정된 시간등이 저장된다.

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class AbstractEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonProperty
    private Long id;

    @Column(nullable = true)
    @CreatedDate
    private LocalDateTime createdDateTime;

    @Column(nullable = true)
    @LastModifiedDate
    private LocalDateTime modifiedDateTime;
}    

다만, @CreatedDate와 같은 Annotation을 받아들여 처리할 수 있도록

클래스에 @EntityListeners(AuditingEntityListener.class) 어노테이션을 붙여야 한다.

또한, Configuration 클래스에 @EnableJpaAuditing 어노테이션을 붙여야 한다.

@SpringBootApplication
@EnableJpaAuditing
public class QnaApplication {
	public static void main(String[] args) {
		SpringApplication.run(QnaApplication.class, args);
	}
}


참고: https://webcoding-start.tistory.com/53