JPA(Java Persistence API)

김휘진·2023년 2월 2일
0

Java

목록 보기
3/5
post-thumbnail

JPA

  • JPA란 자바 진영에서 ORM 기술표준으로 사용되는 인터페이스의 모음

  • JPA = "Java Persistence API"의 약자

  • 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스

  • 인터페이스이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현

JPA를 사용하는 이유

생산성

  • 간단한 메서드로 CRUD 가능

  • SQL 중심적이었던 개발이 객체 중심 개발로 변경이 가능해짐

    SQL 코드의 반복 문제와 객체 지향&관계 지향 데이터베이스의 패러다임 불일치 해결
    (SQL 매퍼라고 할 만큼 많던 SQL 작업이 줄어들어 개발자들이 개발에 집중 가능해졌다.)

유지보수

  • 기존 : 필드 변경 시 모든 SQL을 수정
    JPA : 필드만 추가하면 끝

패러다임 불일치 해결

  • 상속, 연관관계, 객체 그래프 탐색, 비교하기와 같은 패러다임 불일치를 해결해준다.

성능 최적화

  • 모아서 쓰는 버퍼링이 가능

  • 읽을 때 쓰는 캐싱이 가능

데이터 접근 추상화와 벤더 독립성

  • 데이터베이스 기술에 종속되지 않는다.

  • 데이터베이스 변경 시 JPA에게 다른 데이터베이스를 사용한다고 알려주기만 하면 된다.

profile
Don't give up, I can do (IT)

0개의 댓글