DevBoi

[JPA] 스프링 Timezone 설정 + Aws, Docker mariadb timezone설정 본문

Develop/[JPA]

[JPA] 스프링 Timezone 설정 + Aws, Docker mariadb timezone설정

HiSmith 2023. 9. 30. 11:39
반응형

타임존이 이상하게 되어있어서, 실제 쿼리를 수행할 때 다르게 결과를 보여준다.

1. DB timezone 설정

2. JPA 내 타임존 설정

 

위의 두가지를 크게 변경해주어야 한다.

 

JPA 내 타임존 변경

 

  jpa:
    open-in-view: false
    show-sql: true
    hibernate:
      ddl-auto: update
      jdbc:
        time_zone: Asia/Seoul
    properties:
      hibernate:
        show_sql: true
        format_sql: true
package com.boiler.core.backend;

import jakarta.annotation.PostConstruct;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;

import java.util.TimeZone;

@SpringBootApplication
@EnableJpaAuditing
public class BackendApplication {

	public static void main(String[] args) {
		SpringApplication.run(BackendApplication.class, args);
	}
  @PostConstruct
  public void started() {
    // timezone UTC 셋팅
    TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
  }
}

 

 

추가로 디비 설정은 아래와 같다.

Docker 로 설정하면 아래와 같다.

version: "3.2"
services:
  database:
    container_name: database
    image: mariadb
    volumes:
      - ./db/conf.d:/etc/mysql/conf.d
      - ./db/data:/var/lib/mysql

    environment:
      - MYSQL_DATABASE=db1
      - MYSQL_ROOT_PASSWORD=1234
      - MYSQL_ROOT_HOST=%
      - TZ=Asia/Seoul
    command: ['--character-set-server=utf8mb4','--innodb-read-only-compressed=OFF','--collation-server=utf8mb4_unicode_ci','--transaction-isolation=READ-COMMITTED']
    ports:
      - 3306:3306

 

환경쪽에 추가가되었고, 아래 커맨드로 확인이 가능하다.

SELECT NOW(), @@system_time_zone AS TimeZone;

 

 

aws의 경우 별도 파라미터 그룹을 생성해서 설정해줘야한다.

 

1.파라미터 그룹 기존 인스턴스 를 parent로 한 그룹 신규 생성

2.기존 인스턴스에 파라미터 그룹을 신규 생성한 파라미터 그룹으로 수정

반응형

'Develop > [JPA]' 카테고리의 다른 글

[JPA] Nested Response List 처리  (1) 2023.09.30
[QueryDsl] Spring 3 버전 p6spy 적용  (0) 2023.09.09
[JPA] Querydsl & Paging  (0) 2023.09.02
[JPA] JPAUpdateClause 사용  (0) 2023.09.02
[Jpa] Querydsl build Setting  (0) 2023.09.02