[8.5.5.6 이상]

JPA(Java Persistence API)

데이터 지속성은 애플리케이션이 비휘발성 스토리지 시스템의 정보를 유지하고 검색하는 수단입니다. 관계형 데이터베이스에 대한 액세스는 필수이므로 지속성은 엔터프라이즈 애플리케이션에 있어서 대단히 중요합니다. 이 환경을 위해 개발되는 애플리케이션은 자체적으로 지속성을 관리하거나, 써드파티 솔루션을 사용하여 지속성에 대한 데이터베이스 업데이트 및 검색을 처리해야 합니다. Java™ Persistence API(JPA)는 EJB 3.0 스펙부터 지속성, 오브젝트 관계형 맵핑 및 기능의 관리를 위한 메커니즘을 제공합니다.

JPA 스펙은 벤더별 맵핑 구현에 의존하지 않고 오브젝트 관계형 맵핑을 내부적으로 정의합니다. JPA는 Java Enterprise Edition(Java EE) 환경에 적용되는 Java 프로그래밍 모델을 기반으로 하지만, JPA는 애플리케이션 기능을 테스트하기 위해 Java SE 환경에서 작동할 수 있습니다.

JPA는 지속성 프로그래밍 모델의 단순화를 나타냅니다. JPA 스펙은 벤더별 맵핑 구현에 의존하지 않고 오브젝트 관계형 맵핑을 명시적으로 정의합니다. JPA는 어노테이션 또는 XML을 사용하여 오브젝트를 하나 이상의 데이터베이스 테이블에 맵핑함으로써 오브젝트 관계형 맵핑의 중요한 태스크를 표준화합니다. 지속성 프로그래밍 모델을 보다 단순화하려면 다음 작업을 수행하십시오.

JPA는 Java Enterprise Edition(Java EE) 컨테이너의 내부 및 외부에서 모두 작동하도록 설계되었습니다. JPA를 컨테이너 내부에서 실행하면 애플리케이션은 이 컨테이너를 사용하여 지속성 컨텍스트를 관리할 수 있습니다. JPA를 관리할 컨테이너가 없는 경우에는 애플리케이션이 직접 지속성 컨텍스트 관리를 처리해야 합니다. 컨테이너 관리 지속성을 위해 설계된 애플리케이션은 지속성을 처리하기 위한 많은 코드 구현을 필요로 하지 않지만. 이러한 애플리케이션은 컨테이너 외부에서 사용할 수 없습니다. 자체적으로 지속성을 관리하는 애플리케이션은 컨테이너 환경 또는 Java SE 환경에서 작동할 수 있습니다.

EJB 3.x 프로그래밍 모델을 지원하는 Java EE 컨테이너는 지속성 제공자라고도 하는 JPA 구현을 지원해야 합니다. JPA 지속성 제공자는 EJB 3.x 환경에서 지속성 관리를 쉽게 할 수 있도록 다음 요소를 사용합니다.

지속성 단위
Java 클래스(엔티티 + 지원 구조체)를 관계형 데이터베이스에 맵핑하는 완전한 오브젝트 관계형 모델을 정의합니다. EntityManagerFactory는 이 데이터를 사용하여 EntityManager를 통해 액세스할 수 있는 지속성 컨텍스트를 작성합니다.
EntityManagerFactory
데이터베이스 상호작용을 위한 EntityManager를 작성하는 데 사용됩니다. 애플리케이션 서버 컨테이너는 일반적으로 이 기능을 제공하지만 JPA 애플리케이션 관리 지속성을 사용하는 경우에는 EntityManagerFactory가 필요합니다. EntityManagerFactory의 인스턴스는 지속성 컨텍스트를 나타냅니다.
지속성 컨텍스트
애플리케이션이 현재 조작하고 있는 활성 인스턴스 세트를 정의합니다. 이 지속성 컨텍스트는 수동으로, 또는 인젝션을 통해 작성할 수 있습니다.
EntityManager
애플리케이션이 사용하고 있는 엔티티 오브젝트의 활성 콜렉션을 유지보수하는 자원 관리자입니다. EntityManager는 데이터베이스 상호작용 및 오브젝트 관계형 맵핑의 메타데이터를 처리합니다. EntityManager의 인스턴스는 지속성 컨텍스트를 나타냅니다. 컨테이너의 애플리케이션은 EntityManager를 애플리케이션으로 인젝션하거나, Java 컴포넌트 네임스페이스에서 이를 찾아 얻을 수 있습니다. 애플리케이션이 자체 지속성을 관리하는 경우에는 EntityManagerFactory에서 EntityManager를 얻습니다.
엔티티 오브젝트
가장 단순한 양식의 데이터베이스 테이블 행을 나타내는 단순 Java 클래스입니다. 엔티티 오브젝트는 concrete 클래스 또는 abstract 클래스가 될 수 있습니다. 이러한 오브젝트는 특성 또는 필드를 사용하여 상태를 관리합니다.

주제의 유형을 표시하는 아이콘 개념 주제

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=cwlp_jpa
파일 이름: cwlp_jpa.html