유지보수를 맡고 있는 프로젝트를 리뉴얼? 리팩토링?하는 작업을 맡게 되었다.
해당 프로젝트는
- 간단한 CRUD 작업이 많다.
- 솔루션 형식으로 여러 곳에 설치하는 형식이다. 이때, 다른 데이터베이스를 사용해야 할 수도 있다.
- 리뉴얼 시 데이터베이스를 크게 변경해선 안된다.
위 특징을 갖고 있다.
세 가지 특징을 제목 삼아 JPA를 적용할 때의 장점 및 과정 후기를 남겨보겠다.
간단한 CRUD 작업이 많다.
JPA를 사용해야 하는 1순위 이유였다. MyBatis를 사용한다면
- 쿼리 만들기
- xml 만들기
- VO, DTO 만들기
- ...
등의 과정들을 수행해야 했겠지만, JPA를 사용한다면
- 엔티티 만들기
- 레파지토리 만들기
가 끝이다. 이렇게 보면 별로 차이나 보이지 않는데..?
실제로는 매우 큰 차이가 있는 걸 알아주길..
다른 데이터베이스를 사용해야 할 수도 있다.
NVL(), IFNULL(), DECODE() 등 특정 DBMS에서만 쓸 수 있는 함수라던가
INSERT INTO ~~ ON DUPLICATE UPDATE / MERGE INTO ~처럼 문법이 완전히 다른 경우가 있다.
기존에는 설치 작업이 시작될 때마다 쿼리를 바꾸고, 배포하고, 빼놓은 게 있으면 문의 들어와서 핫픽스 하고..의 과정을 거쳤다.
이제는 설정할 때 DBMS에 종속적으로 하지만 않는다면 수정이 줄어들 것이다~!
리뉴얼 시 데이터베이스를 크게 변경해선 안된다.
ddl-auto: validate
위 설정만 지정해주면 JPA가 스키마를 변경할 일이 전혀 없다!
우리 프로젝트에 아주 알맞은 설정값이다 하하~~
(다른 설정값으로는 create, create-drop, update 등이 있다.)
마무리
러닝 커브가 살짝 있어서 힘들었지만, 앞으로의 업무가 편해질 생각을 하니 행복하다~!!
반응형
'경험 > [{업무를 행복하게}]' 카테고리의 다른 글
<업무를 행복하게 ☺️> 회사 바꾸기 ON! (0) | 2023.11.18 |
---|