1.JPA 란 무엇인가??


개요

JPA의 정의와 장점을 알아보자.

JPA (JAVA PERSISTENCE API) 란?


자바 ORM(object-relational Mapping) 기술에 대한 API 표준 명세.

쉽게 말해 인터페이스의 집합체 이다.

그러므로 JPA를 이용하기 위해서는 이를 구현 해줄 수 있는 프레임워크를 사용해야 한다.

Hibernate, EclipseLink, DataNucleus 가 주로 쓰이는 프레임워크이고

가장 대중적인 프레임워크는 Hibernate (하이버네이트) 라고 한다.

JPA를 왜 사용해야 하는가?


  • 생산성 향상 반복적인 코드와 기본 CRUD 용 쿼리를 작성하는 수고를 덜어준다.

  • 유지보수 편의성 필드 추가, 삭제 등의 수정사항을 개발자가 직접 유지보수를 위해 코딩해야 했던 노력이 줄어든다. (JPA가 대신 처리함)

  • 페러다임의 불일치 해결 코드가 디테일 해 질수록 JAVA 의 객체기반 - DB의 관계형 데이터 기반 두 페러다임의 불일치가 발생하는데 JPA가 중간에서 해결 가능.

  • 성능 향상 JPA는 어플리케이션과 DB 사이에서 동작하므로 이렇게 계층이 하나 더 있으면 최적화를 시도해 볼 수 있는 것이 많다.

  • 데이터 접근 추상화와 벤더 독립성 JPA는 어플리케이션과 DB 사이에 추상화된 데이터 접근 계층을 제공하여 어플리케이션이 특정 DB 기술에 종속되지 않도록 한다. (페이징 처리의 경우 각 DB마다 사용법이 다르지만, JPA를 사용하면 어떤 DB를 사용하는지 알려주기만 하면 된다)

  • 표준 기술 JAVA의 ORM 표준 기술이기 떄문에 다른 구현기술로 손쉽게 변경 가능하다.