Spring Framework - JpaAuditing

h.Im·2024년 8월 29일

Springboot 기초

목록 보기
6/17
post-thumbnail

@EnableJpaAuditing 어노테이션은 Spring Boot 애플리케이션에서 JPA Auditing을 활성화하는 데 사용됩니다. 아직 Config 파일을 작성해 보지 않아서 아래와 같이 SpringApplication 시작점에 어노테이션을 붙여 보았습니다.

@EnableJpaAuditing
@SpringBootApplication
public class MyApplication {

	public static void main(String[] args) {
		SpringApplication.run(MyApplication.class, args);
	}
}

@EnableJpaAuditing 어노테이션을 붙임으로서 Application Context에 AuditingEntityListener가 등록되어, 엔티티의 변경 사항을 감지하고, 관련 필드를 자동으로 업데이트합니다.

이제 MyApplication에서 다루는 엔터티를 아래와 같이 작성하면

@Entity
@EntityListeners(AuditingEntityListener.class)
public class MyEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @CreatedDate
    @Column(updatable = false)
    private LocalDateTime createdDate;

    @LastModifiedDate
    private LocalDateTime lastModifiedDate;
}

@CreatedDate 어노테이션이 붙은 칼럼에 생성일,
@LastModifiedDate 어노테이션이 붙은 칼럼에 마지막 수정일이 자동으로 입력됩니다.

@EntityListeners(AuditingEntityListener.class) 어노테이션을 JPA 엔터티 클래스에 붙이면 해당 엔터티에서 JPA Auditing 기능을 사용할 수 있게 되는 것입니다.

추가로 JPA Auditing을 이용해 아래 데이터들도 자동으로 입력되게 할 수 있습니다.
@CreatedBy: 엔티티의 생성자를 자동으로 기록
@LastModifiedBy: 엔티티의 마지막 수정자를 자동으로 기록

0개의 댓글