jpa4 [스프링 부트, MySQL] 타임존(timeZone) 설정하기- 서버 별 시간 불일치 해결 방법 스프링 부트를 이용해 간단한 메모장을 만들고 있습니다. DB는 MySQL을 사용하고 있는데 개발 단계에서 로컬 서버에서 저장할 때와 도커서버에 업로드한 배포 버전에서 메모가 저장되는 시간이 서로 다른 문제가 발생하여 이번 시간에는 어떻게 해결 했는지 소개 해보도록 하겠습니다. 로컬서버와 배포서버 시간 불일치 문제일단 저는 @EnableJpaAuditing를 사용해서 수정시간, 작성 시간을 자동으로 저장하고 있습니다. 로컬 서버던 배포 스프링 부트 서버건 하나의 MySQL 서버의 데이터 베이스를 사용하여 어떤 서버에서 작성하던 같은 데이터가 보이도록 했습니다. 하지만 이렇게 하니 로컬 서버(localhost:8080)에서 저장한 시간와 배포서버에서 저장한 시간이 불일치하는 일이 발생하였습니다. 문제는 타임.. 프로그래밍사업/사이드 프로젝트 2024. 8. 22. 더보기 ›› [스프링 부트 + JPA + MySQL] 간단한 회원관리 예제로 알아보는 스프링 부트 -3탄 Service 만들기 서비스 부분은 앞서 만든 Repository를 이용하여 회원가입, 회원조회 등 실제 서비스를 구현하는 부분입니다. 사실 Repository와 Service부분을 합쳐도 되는거 아니야 라고 생각을 했지만 김영한님의 스프링 강의를 쭉 들어보니 각각의 기능들을 구분하고 분리해놔야 유지보수가 쉽다는 것을 알았습니다. 예를 들어 입문 강의에서 JDBC 템플릿에서 JPA로 바꾸는 과정에서 repository와 service가 합쳐져 있으면 바꿔 끼우는것이 어려웠을텐데 코드 한줄만 바꾸면 쉽게 교체가 되었습니다. 자세한 내용은 인프런 스프링 부트 입문 강의를 들어보시면 알수 있습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가.. 프로그래밍사업/사이드 프로젝트 2022. 11. 15. 더보기 ›› [스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링부트 -2탄 Repository 만들기 이번에는 DB에서 한 발자국 나아가 Repository를 만들어 보겠습니다. 리포지토리는 DB에 실제 저장, 불러오기 등의 기능을 구현하는 곳입니다. 실제 강의에서는 인터페이스를 이용해서 Memory기반에서 JDBC, JDBC Templete, JPA 순으로 다형성을 이용하여 구현하는 방법을 배웠으나, 저는 JPA만 가지고 구현하고 테스트 코드까지 정리해보겠습니다. 도메인 만들기 도메인은 아마도 MVC 모델에서 M에 해당하는 부분이 아닐까 추측해봅니다. 이 도메인은 우리가 다룰 데이터의 자료형이라고 생각하시면 됩니다. 저장할때도 Member 객체를 만들어서 저장할 것이고, 사용할때도 Memeber 객체를 이용하여 사용할 것입니다. JPA 관련 설정 @Entity: DB 테이블을 매핑 @Id: 이것을 pk.. 프로그래밍사업/사이드 프로젝트 2022. 11. 14. 더보기 ›› [스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링부트 -1탄 DB 설정편 스프링 부트, JPA, MySQL 사용법 정리 겸 김영한's 스프링 입문 강의 후기 기본적인 자바 문법 공부가 끝나가던 중 문법 공부만하는 것은 공부에 도움이 별로 안된다는 것을 파이썬을 공부하면서 느꼈기 때문에 요새 스프링을 공부하고 있습니다. 공부 교재는 인프런의 김영한님이 무료로 공개하신 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의'를 듣고 제 머릿속에 남기기 위해 정리해보고자 합니다. '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의'는 깊이 있는 내용보다는 가볍게 작은 프로젝트를 구현해보면서 스프링에대한 전반적인 이해와 많은 흥미를 유발하는 강의인것 같습니다. 강의 시간도 제일 긴것이 20분이이고 대부분 10분 내외로 중간 중간 .. 프로그래밍사업/사이드 프로젝트 2022. 11. 14. 더보기 ›› 이전 1 다음