JPA overview

홍석희·2024년 1월 25일
0

jpa

목록 보기
2/3

JPA란

JPA는 자바진영 ORM(Object Relational Mapping)기술의 표준 API 명세.

JPA는 반복적인 CRCD SQL을 알아서 처리해주고 객체 모델링과 관계형 데이터베이스 사이의 차이점을 해결해준다.

조회된 결과를 객체로 매핑하는 작업도 자동으로 처리해 준다.

JPA를 사용함으로써 객체와 관계형 데이터베이스 간의 패러다임 불일치를 해결하고 애플리케이션을 SQL이 아닌 객체 중심으로 개발할 수 있어 생산성과 유지보수가 좋아지고 테스트를 작성하기도 수월해진다.

JPA의 동작

JPA는 애플리케이션과 JDBC의 사이에서 동작한다.

JPA는 ORM 기술에 대한 인터페이스를 모아 둔 것으로 JPA를 사용하려면 JPA를 구현한 ORM 프레임워크가 필요하다.

ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 해결하고 JDBC API를 사용하여 DB와 통신한다.

하이버네이트는 JPA를 구현한 대표적인 ORM 프레임워크

JPA의 장점

  • 생상성
    • JPA를 사용하면 자바 컬렉션에 객체를 저장하듯 JPA에 저장할 객체를 전달하면 된다.
    • INSERT SQL을 작성하고 JDBC API를 사용하는 반복적인 작업을 JPA가 대신 처리해준다.
  • 유지보수
    • SQL 의존적인 개발에서는 엔티티에 필드 하나만 추가돼도 관련된 CRUD SQL과 결과를 매핑하기 위한 JDBC API 코드를 모두 변경해야 하지만 JPA를 이용하면 JPA가 이러한 작업들을 대신 처리해준다.
  • 패러다임 불일치 해결
    • 상속, 연관관계, 객체 그래프 탐색, 비교하기와 같은 패러다임 불일치 문제를 해결해준다.
  • 성능
    • JPA는 애플리케이션과 데이터베이스 사이에서 동작하기 떄문에 다양한 성능 최적화 기회를 제공한다.
    • 예를 들어 동일한 INSERT SQL이 호출되면 한 번만 DB에 쿼리를 전달하고 두 번째 조회한 쿼리는 조회한 객체를 재사용한다.
  • 벤더 독립성
    • DB를 변경하더라고 코드가 변하지 않는다.

참고자료: 자바 ORM 표준 JPA 프로그래밍 - 김영한 저

profile
개발 기록

0개의 댓글

관련 채용 정보