스프링 auditing 을 이용한 생성시간 및 수정시간을 timestemped 클래스를 만든 후 로그인 하려는 순간 에러가 발생했다.
Java 8 date/time type java.time.LocalDateTime not supported by default
Java 8 date/time type java.time.LocalDateTime not supported by default
LocalDataTime을 역직렬화하지 못해서 생기는 문제입니다.
추가적으로 만약 캐시로 사용할 객체에 LocalDateTime 타입의 값이
존재한다면 위처럼 @JsonSerialize, @JsonDeserialize 어노테이션을 기입해줘야 합니다.
그렇지 않으면 오류가 발생합니다.
//자바 역직렬화 문제 해결 패키지
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
implementation 'com.fasterxml.jackson.core:jackson-databind'
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class TimeStamped {
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@CreatedDate
private LocalDateTime createdAt;
@JsonSerialize(using = LocalDateTimeSerializer.class)
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@LastModifiedDate
private LocalDateTime modifiedAt;
}