프로젝트 일지

[🐾일지: JPA ] JPA date 에 default now() 넣기

Kamea 2023. 2. 1. 06:35

엔티티 컬럼을 작성하다가 생성일자 같은 컬럼명을 작성할 일이 생겼다.

 

1. Application 클래스에 @EnableJpaAuditing을 추가한다

→ 나는 Application 에 넣었지만 필요하다면 @Configuration 클래스와 함께 사용해도 된다

@EnableJpaAuditing
@SpringBootApplication
public class StackersApplication {

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

}

 

🍒 EnableJpaAuditing

Enable + Jpa + Auditing : Jpa "감시"를 가능하게 함
시간에 대해 자동으로 값을 넣어주는 기능을 하는 어노테이션

 

 

 

 

 

2. 만들고자 하는 엔티티에 @EntityListeners(AuditingEntityListener.class)를 추가한다

+ @createdDate를 추가하고 LocalDateTime으로 선언한다.

@Entity
@Getter
@NoArgsConstructor
@EntityListeners(AuditingEntityListener.class)
public class Station {
    @CreatedDate
    @Column(name = "reg_time", updatable = false)
    private LocalDateTime regTime;
}

 

🍒 @EntityListeners(AuditingEntityListener.class)

특정 이벤트가 발생하면 동작을 실행하는 것
: AuditingEntityListener을 callback해서 시간에 관련된 이벤트가 발생 시에 실행된다

 

 

이제 제대로 잘 들어간다