From 09680f7dff43b6899c496f80bc6071a8dd9f777d Mon Sep 17 00:00:00 2001 From: doji Date: Fri, 29 Sep 2023 17:38:30 +0900 Subject: [PATCH 1/2] temp --- .../common/config/JacksonConfiguration.kt | 18 ++++++++++++++++++ .../mjucow/eatda/domain/common/BaseEntity.kt | 17 ++++++----------- 2 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 src/main/kotlin/com/mjucow/eatda/common/config/JacksonConfiguration.kt diff --git a/src/main/kotlin/com/mjucow/eatda/common/config/JacksonConfiguration.kt b/src/main/kotlin/com/mjucow/eatda/common/config/JacksonConfiguration.kt new file mode 100644 index 0000000..97fd26d --- /dev/null +++ b/src/main/kotlin/com/mjucow/eatda/common/config/JacksonConfiguration.kt @@ -0,0 +1,18 @@ +package com.mjucow.eatda.common.config + +import com.fasterxml.jackson.databind.ObjectMapper +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule +import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration + +@Configuration +class JacksonConfiguration { + /** + * 기본 objectMapper 는 java8 이후 시간관련 타입(Instant 등)을 변환하지 못하므로 JavaTimeModule 추가 등록 + */ + @Bean + fun objectMapper(): ObjectMapper { + return jacksonObjectMapper().registerModule(JavaTimeModule()) + } +} diff --git a/src/main/kotlin/com/mjucow/eatda/domain/common/BaseEntity.kt b/src/main/kotlin/com/mjucow/eatda/domain/common/BaseEntity.kt index 4441df2..35a56a8 100644 --- a/src/main/kotlin/com/mjucow/eatda/domain/common/BaseEntity.kt +++ b/src/main/kotlin/com/mjucow/eatda/domain/common/BaseEntity.kt @@ -9,8 +9,7 @@ import jakarta.persistence.MappedSuperclass import jakarta.persistence.PrePersist import jakarta.persistence.PreUpdate import org.springframework.data.jpa.domain.support.AuditingEntityListener -import java.time.LocalDateTime -import java.time.ZoneId +import java.time.Instant @MappedSuperclass @EntityListeners(AuditingEntityListener::class) @@ -20,25 +19,21 @@ abstract class BaseEntity( val id: Long = 0L, ) { @Column(nullable = false, updatable = false) - var createdAt: LocalDateTime = LocalDateTime.now(ZONE_ID) + var createdAt: Instant = Instant.now() protected set @Column(nullable = false) - var updatedAt: LocalDateTime = LocalDateTime.now(ZONE_ID) + var updatedAt: Instant = Instant.now() protected set @PrePersist fun initTimeColumns() { - createdAt = LocalDateTime.now(ZONE_ID) - updatedAt = LocalDateTime.now(ZONE_ID) + createdAt = Instant.now() + updatedAt = Instant.now() } @PreUpdate fun updateTimeColumn() { - updatedAt = LocalDateTime.now(ZONE_ID) - } - - companion object { - val ZONE_ID: ZoneId = ZoneId.of("Asia/Seoul") + updatedAt = Instant.now() } } From 470c4d49d102dcd403f2b4e13f9a53d6aaa361cf Mon Sep 17 00:00:00 2001 From: doji Date: Fri, 29 Sep 2023 17:48:14 +0900 Subject: [PATCH 2/2] =?UTF-8?q?timezone=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compose.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/compose.yaml b/compose.yaml index 8109905..ccb0ca3 100644 --- a/compose.yaml +++ b/compose.yaml @@ -10,8 +10,6 @@ services: POSTGRES_DB: eatda POSTGRES_USER: local POSTGRES_PASSWORD: local - TZ: Asia/Seoul - PGTZ: Asia/Seoul ports: - "15432:5432" restart: always