JPA의 기본개념과 장점 (ORM 프레임워크)

반응형
728x90
반응형

JPA

JPA : Java Persistence API

자바 진영의 ORM 기술 표준이다. JPA를 알아보기전에 ORM과 ORM 프레임워크에 대해 알아보자.

 

 

 

ORM

ORM : Object Relational Mapping

객체와 관계형 데이터베이스를 매핑한다는 뜻이다.

 

 

 

ORM 프레임워크

ORM 프레임워크를 사용함으로써 그동안 개발해왔던 INSERT/UPDATE/SELECT 쿼리 등을 직접 작성하지 않고도 데이터를 저장할 수 있게되었고 우리는 객체를 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 쿼리 작성 시의 일들을 수행할 수 있게 되었다. ORM 프레임워크에 저장된 객체들은 ORM 프레임워크가 적절한 SQL을 생성해서 데이터베이스에 저장된다.

 

ORM 프레임워크는 단순히 SQL을 생성해서 데이터베이스에 전달해주는 것 뿐만 아니라, 다양한 패러다임의 불일치 문제들도 해결해준다. 객체 측면에서는 정교한 객체 모델링이 가능하고, 관계형 데이터베이스는 데이터베이스에 맞도록 모델링을 하면 된다. 그리고 둘을 어떻게 매핑하는지의 매핑 방법만 ORM 프레임워크에 전달해주면 개발자가 직접 SQL 쿼리 작성 없이 ORM 프레임워크가 데이터베이스에 데이터를 전달한다. 

 

이러한 ORM 프레임워크의 역할 덕분에 개발자들은 관계형 데이터베이스를 사용하더라도, 객체지향 애플리케이션 개발에만 집중할 수 있다.

 

 

 

하이버네이트 프레임워크

자바에서 가장 많이 사용되는 프레임워크이다.

 

Hibernate.org
오픈소스 ORM 프레임워크가 등장하였고 이는 EJB(엔터프라이즈 자바 빈즈)의 ORM 기술과 비교해서 가볍고 실용적인데다 기술 성숙도도 높았다. 

 

JPA란, EJB3.0에서 하이버네이트를 기반으로 만들어진 새로운 자바 ORM 기술 표준이다.

 

 

 

JPA 장점

생산성

INSERT 쿼리를 작성하는 반복적인 작업을 JPA가 대신 처리해준다. 데이터베이스 설계 중심의 패러다임을 객체 설계 중심으로 역전시킬 수 있다.

 

유지보수

엔티티에 필드가 추가될때마다 대응해야하는데 등록/수정/조회 쿼리를 수정할 필요 없이 JPA가 모두 대신 처리해준다.

유지보수해야하는 코드 수가 줄어든다.

 

패러다임의 불일치 해결

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

 

성능

애플리케이션과 데이터베이스 사이에서 다양한 성능 최적화 기회를 제공한다. JPA는 애플리케이션과 데이터베이스 사이에서 동작한다.

 

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

관계형 데이터베이스는 같은 기능도 벤더마다 사용법이 다르다. 각각 데이터베이스마다 다른 점에 상관없이 기술에 종속되지 않을 수 있다. 데이터베이스를 변경하게되면 JPA에게 다른 데이터베이스를 사용한다고 알려주기만 하면 된다.

 

표준

JPA는 자바 진영의 ORM 기술 표준이다. 표준을 사용하면 다른 구현 기술로 손쉽게 변경할 수 있다.

 

 

 

반응형

Designed by JB FACTORY