JPA-소개
모든 엔터프라이즈 응용 프로그램은 방대한 양의 데이터를 저장하고 검색하여 데이터베이스 작업을 수행합니다. 스토리지 관리에 사용할 수있는 모든 기술에도 불구하고 애플리케이션 개발자는 일반적으로 데이터베이스 작업을 효율적으로 수행하는 데 어려움을 겪습니다.
일반적으로 Java 개발자는 많은 코드를 사용하거나 독점 프레임 워크를 사용하여 데이터베이스와 상호 작용하는 반면 JPA를 사용하면 데이터베이스와 상호 작용하는 부담이 크게 줄어 듭니다. 이는 객체 모델 (Java 프로그램)과 관계형 모델 (데이터베이스 프로그램) 사이의 다리를 형성합니다.
관계형 모델과 개체 모델 간의 불일치
관계형 개체는 표 형식으로 표시되는 반면 개체 모델은 개체 형식의 상호 연결된 그래프로 표시됩니다. 관계형 데이터베이스에서 개체 모델을 저장하고 검색하는 동안 다음과 같은 이유로 일부 불일치가 발생합니다.
Granularity : 객체 모델은 관계형 모델보다 더 세분화됩니다.
Subtypes : 하위 유형 (상속을 의미)은 모든 유형의 관계형 데이터베이스에서 지원되지 않습니다.
Identity : 객체 모델과 마찬가지로 관계형 모델은 동등성을 작성하는 동안 정체성을 노출하지 않습니다.
Associations : 관계형 모델은 개체 도메인 모델을 조사하는 동안 여러 관계를 결정할 수 없습니다.
Data navigation : 객체 네트워크의 객체 간 데이터 탐색은 두 모델에서 다릅니다.
JPA 란 무엇입니까?
Java Persistence API는 Oracle Corporation에서 제공하는 데이터베이스에 방대한 양의 데이터를 지속적으로 저장하는 클래스 및 메소드 모음입니다.
JPA는 어디에서 사용합니까?
관계형 객체 관리를위한 코드 작성 부담을 줄이기 위해 프로그래머는 데이터베이스 인스턴스와 쉽게 상호 작용할 수있는 'JPA Provider'프레임 워크를 따릅니다. 여기서 필요한 프레임 워크는 JPA에 의해 인계됩니다.
JPA 역사
이전 버전의 EJB는 javax.ejb.EntityBean 인터페이스를 사용하여 비즈니스 로직 계층과 결합 된 지속성 계층을 정의했습니다.
EJB 3.0을 도입하는 동안 지속성 계층이 분리되어 JPA 1.0 (Java Persistence API)으로 지정되었습니다. 이 API의 사양은 JSR 220을 사용하여 2006 년 5 월 11 일 JAVA EE5 사양과 함께 출시되었습니다.
JPA 2.0은 2009 년 12 월 10 일 Java Community Process JSR 317의 일부로 JAVA EE6 사양과 함께 릴리스되었습니다.
JPA 2.1은 JSR 338을 사용하여 2013 년 4 월 22 일 JAVA EE7 사양과 함께 출시되었습니다.
JPA 공급자
JPA는 오픈 소스 API이므로 Oracle, Redhat, Eclipse 등과 같은 다양한 엔터프라이즈 공급 업체에서 JPA 지속성 특징을 추가하여 새로운 제품을 제공합니다. 이러한 제품 중 일부는 다음과 같습니다.
Hibernate, Eclipselink, Toplink, Spring Data JPA, etc.