웹개발/스프링부트

[문제해결]JPA를 이용한 생성시간 자동화 구현후 DB에 날짜가 null로 들어가는 문제

수제개발자 2019. 3. 22. 15:54

JPA Auditing으로 생성수정날짜 자동생성해서 DB에 입력하는 방법은 아래 포스팅을 참고

https://jojoldu.tistory.com/251?category=635883

 

위 포스팅대로 따라했는데 날짜가 null 들어가는 문제에 대한 하나의 해결방법이다.

 

현상:문제

딱히 에러는 나지 않지만 의도대로라면 날짜컬럼에 날짜가 들어가야하는데 null로 들어간다.

 

원인

현재시각을 따오는 클래스 BaseTimeEntity가 어노테이션 @EntityListeners(AuditingEntityListener.class)을 통해 JPA 청취를 하는데 main() 함수가 있는 클래스에서 JPA청취가능을 해주지 않았기 때문.

 

해결

메인함수가 있는 클래스에 @EnableJpaAuditing 어노테이션을 달아준다.
 

BaseTimeEntity.java

@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {
	
	@CreatedDate
	private LocalDateTime createdDate;
	
	@LastModifiedDate
	private LocalDateTime modifiedDate;
}

 

Application.java

@EnableJpaAuditing
@SpringBootApplication
public class Application implements ApplicationListener{

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