📚 시리즈

0. 서론 앞선 글에서 자바의 날짜/시간과 관련된 클래스들에 대해서 알아보았습니다. 이번 글에선 JPA를 이용해서 자바의 클래스들이 MySQL에서 어떤 타입으로 변경 되는지를 알아보고, MySQL에 있는 데이터 타입에 대해서 정리하겠습니다. 💡목표 1. Java의 날짜/시간 클래스가 어떻게 변경되는지 확인한다. 2. DB에 있는 날짜/시간 데이터 타입에 대한 특징을 이해한다. 1. Java의 클래스는 어떻게 바뀌는가? 이번 시간엔 지금까지 알아본 Java의 다양한 날짜/시간 클래스들이 JPA를 통해 기본적으로 어떻게 변환이 되는지, 어떤 타입으로 변경이 가능한지에 대해서 알아보겠습니다. 아래 코드는 예제로 사용할 코드입니다. 앞선 포스팅에서 다룬 클래스인 `LocalDate`, `LocalTime`, `..
💡 목표 1. Java 8에서 새로운 시간 패키지가 생긴 이유를 이해한다. 2. Java 8에서 생긴 날짜/시간 클래스들의 각각의 특징을 이해한다. 왜 새로운 클래스가 생겼을까?Java8이 되면서 시간/날짜와 관련된 패키지가 추가되고, 새로운 클래스들이 많이 추가되었습니다. 우리가 흔히 사용하는 `LocalDateTime`과 같은 것들이 이때 추가가 된 것입니다. 본래 Java에서 사용하던 시간과 관련된 클래스는 `java.util.Date`와 `java.util.Calendar`였습니다. 왜 이 두 개의 클래스를 놔두고 새로운 패키지와 클래스를 만들었어야 했을까요? Practical 모던 자바(장윤기)에 따르면 `Date`와 `Calendar`에는 3가지 치명적인 문제가 있다고 합니다. 1. Threa..
발단 개발을 하다 보면 시간에 대한 정보를 저장하는 일이 자주 생깁니다. 제가 개발을 할 때나, 여러 강의를 보다 보면, 적어도 어떤 데이터의 생성 시간정도는 기록을 했습니다. 저 같은 경우는 지금까지 별생각 없이 Java의 `LocalDateTime`이라는 클래스를 이용하여 그 시점을 기록하였습니다. 하지만 최근 이와 관련된 문제가 발생했습니다. 방금 생성을 했는데, 9시간 전에 생성했다고 표기가 되는데... 9시간은 뭔가 익숙한데? 원인은 저 상황에서 서버를 Docker로 말아서 배포를 했는데, 서버 시간이 그리니치 평균 시(GMT)였기 때문에 발생한 문제였습니다. Docker에서 서버 시간을 설정하는 방법부터, LocalDateTime에서 TimeZone을 설정하는 방법까지 여러 방법을 검색해 봤지..
Q현
'📚 시리즈' 카테고리의 글 목록