프로젝트 일지
[🐾일지: 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해서 시간에 관련된 이벤트가 발생 시에 실행된다