프로젝트 정리 2

MyBatis 를 사용한 1:N 관계 조회하기

MyBatis 사용법 대부분은 공식문서에서 자세하게 설명되어 있습니다. 하지만 제가 프로젝트를 진행 하면서 1:N 관계 테이블에서 값을 가져오는데 발생한 문제점과 해결방법을 써보려고 합니다. 복잡한 연관관계 매핑 현재 진행하고있는 주문 도메인을 조회하는 쿼리인데 연관관계가 나름 복잡한 구문입니다. (order - orderLineItem - orderItemOptionGroup - orderItemOption ) 해당 결과를 가져오기 위해 어떻게 매핑을 해야할까를 공식문서와 블로그 등등 많이 찾아봤습니다. 공식 문서에서는 내포된(Nested) Results: 조인된 결과물을 반복적으로 사용하여 내포된 결과 매핑을 사용하는 방법으로 ResultMap 을 사용하도록 권장하고 있다. 단순히 Select 여러개..

프로젝트 정리 2022.10.19

Flyway 버전업데이트로 발생한 문제 해결

우선 Flyway 가 무엇인지, 왜 도입하려 했는지 간단하게 설명드리겠습니다. 해결 방법을 보기 원하시면 스크롤을 쭉쭉 내려주시면 됩니다! Flyway 란? Flyway는 데이터베이스 스키마에 대한 버전 제어를 가능하게 하는 오픈 소스 데이터베이스 마이그레이션 도구입니다. 데이터베이스 스키마는 시간이 지남에 따라 변경사항을 관리하고 데이터베이스 스키마에 적용하여 개발, 테스트 및 프로덕션과 같은 다양한 환경에서 스키마가 동기화되도록 합니다. Flyway 의 장점 Flyway를 사용하면 다음과 같은 주요 이점이 있습니다! 1. 버전 제어: Flyway를 사용하면 데이터베이스 스키마의 버전을 변경하고 시간 경과에 따른 변경사항을 추적할 수 있습니다. 이렇게 하면 이전 버전으로 되돌리거나 스키마가 변경된 내용..

프로젝트 정리 2022.09.01