JPA의 사용 이유

김의진·2021년 9월 3일
0

JDBC, Mybatis도 있는데, 왜 하필 JPA를 사용하는 걸까?
MyBatis의 단점
1. 엔티티 신뢰 문제

  • Entity 용도로 만들어진 객체는 어떤 SQL을 호출하느냐에 따라 내부에서 사용할 수 있는 값들이 달라진다.

1. 코드위주의 개발

  • 단순 반복 CRUD 작업을 획기적으로 줄임
  • 유지보수성 향상 ( 필드 정보 변경시 사이드 이펙트 최소화 )
  • 객체지향개발을 통해 만들어지는 객체들을 DB에 저장하기 위해선 Sql 작업이 필요함, JPA가 이를 대신해줌
  • SQL 의존적인 개발이 아닌 코드 위주의 개발 가능

2. 다양한 성능 최적화 방법

3. DB와 상관없이 일관된 개발 가능

단점

제약사항 및 단점

  • JPA는 통계처리와 같이 복잡한 쿼리보다는 실시간 처리용 쿼리에 더 최적화되어 있다. 물론 JPA에서 제공하는 Native query기능을 사용할 수 있지만 통계처럼 복잡하고 미세하게 쿼리 작업이 필요하다면 Mybatis와 같은 Mapper 방식을 사용하는 것이 더 효율적일 수 있다. Spring에서 JPA와 Mybatis를 혼용해서 사용할 수 있기 때문에 필요에 따라 적절한 방식으로 선택해가면서 사용하면 될 것 같다.
profile
3년차 Spring, Java 주니어 백엔드 개발자입니다.

0개의 댓글