티스토리 뷰

문제상황

아래와 같이 Domain Entity에 생성일자를 @CreationTimestamp로 자동으로 입력하도록 했음.

...
    @CreationTimestamp
    @Column(updatable = false)
    private LocalDateTime createdDate;
...

로컬에서 잘 됐음.

 

ubuntu서버로 배포 했더니

화면에 이상한 시간이 표시됌. DB에도 이상한값이 들어가 있음.

ubuntu timezone 때문인가? 해서 바꿔봤는데 여전함.

그 이상한 시간은 현재시간-9시간 값이었는데, GMT+9 라는, 한국은 표준시간보다 9시간 뒤? 라서 그랬나봄.

 

시도

구글링 하면서 여러 방법을 시도 해봄

1. jar 파일 실행 명령어에 --user.timezone="Asia/Seoul" 추가(또는 -Duser.timezone="Asia/Seoul")

안됌

2. application.yml에 spring.jpa.hibernate.jdbc.time_zone: Asia/Seoul 추가

DB에는 잘 들어감

3. Main Application.java에 default timezone을 set 해주기

...
    public static void main(String[] args) {
        ...
    }
    
    @PostConstruct
	public void started() {
    	TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
    }
...

안됌

4. Domain Entity에 @Convert 추가

...
    @CreationTimestamp
    @Column(updatable = false)
    @Convert(converter = LocalDateTimeConverter.class)
    private LocalDateTime createdDate;
...

안됌

5. DB timezone 설정하기

SHOW timezone
ALTER DATABASE [DB명] SET timezone = 'Asia/Seoul';

안됌

6. Domain entity에 @Column에 columnDefinition = "TIMESTAMP WITHOUT TIME ZONE" 추가

...
    @CreationTimestamp
    @Column(updatable = false, columnDefinition = "TIMESTAMP WITHOUT TIME ZONE")
    private LocalDateTime createdDate;
...

안됌

 

해결

위 방법들을 여러 조합으로 테스트해보다가(ㅠㅠ) 성공

성공 조합은 3번, 4번

3번으로 default timezone을 설정 한 뒤, DomainEntity에서 default timezone에서의 DateTime값을 쓰겠다는? 의미였나봄.

 

여러 블로그 찾아봤는데, 각자 환경에 따라 해결방법이 달랐던거 같음.

해결됐다고 해서 따라해봤는데 안됀 경우도 있었으니까..

3번은 Main java 파일이고, 4번은 BaseEntity를 만들어서 상속하도록 해놨어서 다행히 수정파일이 2개뿐이었음.

혹시 3,4번 적용해보고 안됐다면, 다른 성공 조합을 찾아봐야 할듯

 

bonus

로그는 여전히 현재시간-9로 표시되고 있을 꺼임

이거도 위에 여러 방법 다 해봤는데도 안됐어서 log4j2.xml에 따로 timezone을 설정하기로 했음

<!-- <PatternLayout pattern="%d %5p [%c:%L] %m%n" /> -->
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss,sss}{Asia/Seoul} %5p [%c:%L] %m%n" />

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함