김영한 강사님의 스프링부트 + JPA 조합 강의를 듣다보니, 신세계가 열린 기분이었다.
뭐랄까.. 한 줄 한 줄 코딩을 배운 느낌이 아니라, 전반적인 큰 그림을 보게 된 기분이었다. 그렇게 느끼게 된 게 JPA와의 조합으로서 열리는 무한대의 응용세계였다.
나는 팀프로젝트에서나 실무에서 테스트 코드를 적어본 적이 없었고,
도메인 단위의 설계를 생각하면서 개발에 임해본 적이 없는 것 같다.
그리고 성능 개선에 너무 관심이 많았는데, 이를 어떻게 실현해야할지 감이 안잡혔었다.
JPA를 배우다보니, 영속성 컨텍스트, 영속성 컨텍스트 관리, @Transactional, 1차 캐시 등등을 알게 되고, 성능 개선을 어떠한 방법으로 하면 되겠구나!가 감이 잡혀서 JPA를 직접 나의 프로젝트에 적용하여 마이그레이션을 하고 싶었다.
- 테스트 코드의 생산성 증가
- 도메인 단위의 설계해보고 싶은 욕심
- 성능 개선
- 현재 스타트업, 자사 서비스 회사들이 많이 쓰고 있는 기술들에 한 걸음 다가가고 싶은 마음
How : 마이그레이션을 어떻게 할 것인가?
단박에 모든 걸 싹~다 JPA로 바꾸는 것은 무리가 있다고 생각한다. 점진적인 변경을 목표로 하려고 한다.
1. JPA 설정을 추가하여 현재의 Oracle DB 테이블을 유지하면서 JPA 매핑하기
2. 막히는 부분이 있다면, 그 부분을 새로 세팅하기
3. Query설정을 추가하여 Oracle DB와 함께 마이그레이션을 차차 진행한 후,
4. Spring Data JPA에서 제공하는 페이징 기능 활용하여 List 페이지, 공지사항 페이지 마이그레이션 구현
5. QueryDSL를 사용하여 동적 쿼리를 만들어 보기 / 쿼리 튜닝 및 캐싱 포함
6. redis도 활용해보기
'백엔드 개발 > 플젝 리팩토링' 카테고리의 다른 글
05. [Mybatis에서 JPA로] 기능 목록 정리 및 엔티티 설계 (0) | 2024.01.28 |
---|---|
04. [Mybatis에서 JPA로] 프로젝트 환경설정 (0) | 2024.01.27 |
02. [Mybatis에서 JPA로] 내가 Mybatis를 쓴 이유 (0) | 2024.01.17 |
01. [Mybatis에서 JPA로] 마이그레이션을 맘먹은 계기 (1) | 2024.01.16 |