[JPA]@CreatedDate에 날짜가 안 담길때 오류
@CreatedDate를 사용하여 save()메서드로 데이터를 insert하는데 날짜가 null로 나왔다.
이런 오류는 대부분 auditing이 제대로 적용되지 않았을때 발생한다.
원인
Entity클래스에 @EntityListeners 추가되어있지 않아서 Auditing기능이 작동하지않았다.
- Sample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Sample {
(strategy =GenerationType.IDENTITY)
protected Long id;
private String name;
private Integer age;
private LocalDateTime createdAt;
}
해결
패키지Application.java에 @EnableJpaAuditing 어노테이션 추가
JpaAuditing 기능을 사용하기 위해서는 패키지Application.java파일에서 @EnableJpaAuditing 추가해줘야한다.
1 | // 추가 |
- Entity클래스에 @EntityListeners 추가
이걸 빼먹으면 @CreatedDate등 Auditing기능이 작동하지않는다.
- Sample.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(AuditingEntityListener.class) // 추가
public class Sample {
(strategy =GenerationType.IDENTITY)
protected Long id;
private String name;
private Integer age;
private LocalDateTime createdAt;
}
![[OS/WINDOW]배포후 서버재시작에 batch와 윈도우 스케줄러 활용하기](https://cdn.pixabay.com/photo/2012/03/04/00/50/board-22098_960_720.jpg)
![[블로그]헥소테마에서 댓글기능 facebook에서 utterances로 변경하기](https://miro.medium.com/max/1600/1*aOv6h3h_v9PQWa03zGACnw.png)