■ JPA (JAVA PERSISTENCE API) 란?

자바 ORM (oriented-releational Mapping) 기술에 대한 API 표쥰 명세.

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

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

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

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

 

JPA를 왜 사용해야 하는가?

1. 생산성 향상

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

2. 유지보수 편의성

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

3. 페러다임의 불일치 해결

  JAVA 의 객체기반 - DB의 관계형 데이터 기반 

 코드가 디테일 해 질수록 두 페러다임의 불일치가  발생하는데 JPA가 중간에서 해결 가능.

4. 성능 향상

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

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

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

6. 표준 기술

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

 

* 개발자는 엔티티 객체를 중심으로 개발하고 데이터베이스에 대한 처리는 JPA 에게 맡겨야 한다.

+ Recent posts