[개발지식] JPA/Native query의 차이점과 생각해야할 점

Hyo Kyun Lee·2024년 10월 19일
0

개발지식

목록 보기
51/69

1. 개요

  • 무조건 JPA가 좋은가? JPA를 사용해야 하는가?

2. JPA의 개념

  • java application에서 DB와 상호작용하기 위한 표준 API, 객체지향 프로그래밍에서 RDBMS와의 매핑을 용이하게 해주는 도구이다.
  • ORM(Object - Relational Mapping) 프레임워크인 JPA는 기본적으로 쿼리를 자동 생성한다.

3. JPA와 Native Query의 혼용

  • 복잡한 쿼리를 사용한다면 JPA 성능 문제가 발생할 수 있기에 Native Query를 사용하는 것이 유리할 수 있고, 무엇보다 DBMS에 최적화된 쿼리를 개발자가 직접 작성하고 직접 fetch할 수 있기에 적절한 상황에서 혼용하는 것이 가장 유리하다.

4. 장단점

  • JPA사용 시 가독성이 좋고 확장성이 좋다(DBMS을 변경해도 의존성 역전에 의해 별다른 변경 없이 사용 가능).
  • Native Query 사용 시 DBMS 종속적이고, 그렇기에 DBMS변경 시 쿼리도 같이 변경해주어야 한다(확장성 저해).

5. 결론

복잡도, 의존성, 성능 등을 고려하여 알맞은 방법을 사용하자.

6. 참조자료

JPA/Native Query - https://f-lab.kr/insight/jpa-native-query-usage-20240709

0개의 댓글