16시 13분에 시도했을 때
- Instance
한국 타임존인 UTC +9 만큼 차이가 나는 모습이다
- LocalDateTime
Instance 객체를 OffsetDateTime 타입 객체로 바꾸어줬다.
@LastModifiedDate private OffsetDateTime updatedAt;
그러자 다음과 같은 오류가 발생했다
java.lang.IllegalArgumentException: Cannot convert unsupported date type java.time.LocalDateTime to java.time.OffsetDateTime; Supported types are [java.time.LocalDateTime, java.time.LocalDate, java.time.LocalTime, java.time.Instant, java.util.Date, java.lang.Long, long]
at org.springframework.data.auditing.DefaultAuditableBeanWrapperFactory.rejectUnsupportedType(DefaultAuditableBeanWrapperFactory.java:235) ~[spring-data-commons-3.2.5.jar:3.2.5]
즉 JPA의 @CreatedAt @LastModifiedDate은
- LocalDateTime, LocalDate, LocalTime
- Instant
- Date
- Long, long
만을 지원 하는것으로 보인다.
Offset~ 사용시 자동으로 시스템 기본값을 사용하지 않게 한것은, 이게 적절하지 않은 경우가 꽤 있어서 그렇다는데, 그렇기에 Offset~ 류를 사용하려면 DateTimeProvider를 제공해줘야한다.