JPA(Java™ Persistence API)는 Java EE(Java Enterprise Edition) 및 Java SE(Java Standard Edition) 환경에서 지속성 및 오브젝트/관계 맵핑에 대한 관리를 정의합니다.
JPA(Java Persistence API)는 지속성 프로그래밍 모델의 단순화를 나타냅니다. JPA는 Enterprise Java Beans 3.0의 Java EE 스펙 내에서 지속성 및 오브젝트/관계 맵핑을 관리합니다. JPA 스펙은 벤더 특정 맵핑 구현에 의존하는 대신 자체 가이드라인 내에서 오브젝트/관계 맵핑을 정의합니다. 이러한 기능을 통해 JPA를 사용하는 애플리케이션을 더욱 쉽게 구현하고 관리할 수 있습니다.
JPA는 JDBC(Java Database Connectivity) API, ORM(Object Relational Mapping) 프레임워크, JDO(Java Data Objects)와 같은 이전 지속성 메커니즘의 최고 기능을 결합합니다. JPA에서 엔티티를 작성하는 것은 직렬화 가능 클래스를 작성하는 것만큼 간단합니다. JPA는 JDBC의 대규모 데이터 세트, 데이터 일관성, 동시 사용, 조회 기능을 지원합니다. 오브젝트 관계 소프트웨어 및 오브젝트 데이터베이스에서처럼 JPA에서도 상속과 같은 고급 객체 지향 개념을 사용할 수 있습니다. 벤더 잠금은 JDO 및 EJB 2.x 엔티티와 같은 엄격한 스펙에 의존하지 않으므로 JPA는 벤더 잠금을 회피합니다.
JPA 구현 시 기존 애플리케이션을 반드시 마이그레이션할 필요는 없습니다. 기존 EJB 2.x 컨테이너 관리자 지속성 애플리케이션은 변경되지 않고 계속 실행됩니다. JPA는 모든 애플리케이션에 이상적이지는 않지만 많은 애플리케이션에 대해 다른 지속성 구현보다 나은 대안을 제공합니다.
제품에서 JPA 도구로 맵핑을 작성하고 자동으로 초기화하는 마법사를 사용할 수 있습니다. 기존 엔티티 클래스로부터 새 데이터베이스 테이블을 작성하거나(하향식 맵핑) 기존 데이터베이스 테이블로부터 새 엔티티 Bean을 작성할 수 있습니다(상향식 맵핑). 또한 도구를 사용하여 이름 또는 속성이 다른 기존 데이터베이스 테이블과 엔티티 Bean 간에 맵핑을 작성할 수 있습니다(중간 합류식 맵핑). 데이터 액세스 애플리케이션을 디자인하는 경우 융통성을 위해 맵핑 유형 범위에서 선택할 수 있습니다. 여러 유형의 Java 클래스에서 맵핑을 작성할 수 있으며 데이터베이스 디자인의 여러 옵션으로 엔티티 상속을 지정할 수 있습니다.
JPA에 대해서는 JSR 220 EJB 3.0 스펙: JSR 220: Enterprise JavaBeans 3.0 에서 다룹니다.
JPA 애플리케이션을 작성하기 전에 다음 주제를 읽어보면 좋습니다. 각 주제는 사용자가 JPA 애플리케이션에 대해 생소하거나 이 개발 환경에서 JPA 애플리케이션을 개발 중인 경우에 유용할 수 있는 계획 및 기술 개요 정보를 제공합니다.
JPA 애플리케이션 기술에 이미 익숙한 경우 다음 주제는 JPA 애플리케이션 개발을 위한 작업공간 설정을 돕고, 개발 프로세스를 안내합니다.
자세한 정보는 다음 링크를 참조하십시오.
IBM® Redbooks®: WebSphere® Application Server 버전 6.1 EJB 3.0용 기능 팩