Bepoz
파즈의 공부 일기
Bepoz
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • 공부 기록들 (85)
      • 우테코 (17)
    • Spring (85)
    • Java (43)
    • Infra (17)
    • 책 정리 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Bepoz

파즈의 공부 일기

Spring

[JPA] JPA Auditing에서 OffsetDateTime 사용하기

2024. 1. 4. 18:10

JPA Auditing에서 OffsetDateTime 사용하기

@EnableJpaAuditing을 사용한 jpa의 auditing에서 @CreateDate 과 같은 Date 관련 기능은 기본적으로 LocalDateTime 타입이 할당된다.

/**
 * Default {@link DateTimeProvider} simply creating new {@link LocalDateTime} instances for each method call.
 *
 * @author Oliver Gierke
 * @author Christoph Strobl
 * @since 1.5
 */
public enum CurrentDateTimeProvider implements DateTimeProvider {

    INSTANCE;

    /*
     * (non-Javadoc)
     * @see org.springframework.data.auditing.DateTimeProvider#getNow()
     */
    @Override
    public Optional<TemporalAccessor> getNow() {
        return Optional.of(LocalDateTime.now());
    }
}

default로 위의 getNow 메서드가 실행이 되는데 다른 세부 타입의 TemporalAccessor을 이용하고 싶다면 그냥 새롭게 빈 등록을 해주면 된다.

@Configuration
public class DateTimeProviderConfig {

    @Bean("offSetDateTimeProvider")
    public DateTimeProvider dateTimeProvider() {
        return () -> Optional.of(OffsetDateTime.now());
    }
}

DateTimeProvider 을 구현한 빈을 등록한 후,
@EnableJpaAuditing(dateTimeProviderRef = "offSetDateTimeProvider") 좌측과 같이 넣어주면 완료~!


'Spring' 카테고리의 다른 글

Spring Boot3에서의 @Enumerated(EnumType.STRING) 문제  (0) 2024.07.10
MongoDB 특정 필드만 가져오게끔 하는 projection  (0) 2023.08.13
[Spring] Filter와 server.compression 설정을 통한 api 압축  (0) 2023.07.29
[Spring Batch] 이벤트 리스너 내용 정리  (0) 2023.05.04
[Spring Batch] Multi Thread Processing 내용 정리  (1) 2023.04.03
    'Spring' 카테고리의 다른 글
    • Spring Boot3에서의 @Enumerated(EnumType.STRING) 문제
    • MongoDB 특정 필드만 가져오게끔 하는 projection
    • [Spring] Filter와 server.compression 설정을 통한 api 압축
    • [Spring Batch] 이벤트 리스너 내용 정리
    Bepoz
    Bepoz
    https://github.com/Be-poz/TIL

    티스토리툴바