Study

(JPA) JPA를 왜사용하나요? JPA 사용 이유

Developer RyanKim 2020. 8. 1. 18:46

 

(JPA) JPA를 왜사용하나요? JPA 사용 이유

JPA도 Spring과 마찬가지로 처음 접하고나서 3년차가 되어가고 있습니다.

작년 초 까지만 해도 어떻게 동작하는지 아무것도 모르고 사용하고 있었는데, 작년 중순부터 지금까지
JPA에 대해 공부하며 되돌아보니 그때는 어떻게 사용했었는지 놀라울 따름입니다.

JPA를 조금씩 더 알아가며 왜 JPA를 사용하는 것인가에 대해 나름 정리해보려합니다.


JPA 사용 이유

Java는 객체지향 언어이고, DataBase(: 이하 DB)는 데이터 중심으로 구성되어 있다.

이 패러다임의 불일치를 해결하기 위해 JPA를 사용한다. (JPA는 ORM(:Object-Relational-Mapping 이다))
객체는 필드와 메소드를 가지고있고, 상속이 가능하다.
예를들어 팀 객체가 있고 필드로 회원 객체를 가지고있다고 하면,
DB 테이블에 그대로 저장하는 것은 불가능 하다.
개발자가 해줄 일이 많은데, JPA는 이부분을 해결해 줄 수 있다.


주관적인 의견

2년전에 Mybatis를 사용하여 개발을 한적이 있는데, 가장 크게 느꼈던 문제는
저장된 SQL문이 관리가 되지 않는다는 것이 었습니다.

상품목록을 불러오기위한 SQL문을 저장하는 xml 파일이 있었는데 필터 조건 및 조인 등 여러 쿼리가 덕지덕지 붙어 1000줄 이상이었고, 기능을 이해하고 수정하는데 까다로웠던 기억이 나네요.
또한 반복적으로 CRUD 코드 작업을 했던 기억이 납니다. JPA를 사용하고 나서는 위의 문제를 아직까지는 겪어보지 못했습니다.
결국 JPA 또한 개발자가 비즈니스 로직에 집중해서 개발할 수 있도록 하여 생산성을 높혀준다고 생각합니다.