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 Container Manager Persistence 애플리케이션은 변경하지 않아도 계속 실행됩니다. JPA가 모든 애플리케이션에 대해 이상적이지는 않을 수 있지만 많은 애플리케이션에 다른 지속성 구현보다 더 나은 대체를 제공합니다.
제품에서 JPA 도구로 맵핑을 작성하고 자동으로 초기화하는 마법사를 사용할 수 있습니다. 기존 엔티티 클래스로부터 새 데이터베이스 테이블을 작성(하향식 맵핑)하거나 기존 데이터베이스 테이블로부터 새 엔티티 Bean을 작성(상향식 맵핑)할 수 있습니다. 또한 이 도구를 사용하여 이름 또는 기타 속성이 다른 기존 데이터베이스 테이블과 엔티티 Bean 사이에 맵핑을 작성(중간 합류식 맵핑)할 수도 있습니다. 데이터 액세스 애플리케이션을 디자인하는 경우 융통성을 위해 맵핑 유형 범위에서 선택할 수 있습니다. 여러 유형의 Java 클래스에서 맵핑을 작성할 수 있으며 데이터베이스 디자인의 여러 옵션으로 엔티티 상속을 지정할 수 있습니다.
JPA에 대해서는 JSR 220 EJB 3.0 스펙: JSR 220: Enterprise JavaBeans 3.0 에서 다룹니다.
JPA 애플리케이션을 작성하기 전에 다음 주제를 읽어보면 좋습니다. 이러한 주제에서는 JPA 애플리케이션을 처음 접하는 경우 또는 이 개발 환경에서 JPA 애플리케이션을 개발하는 경우 유용한 계획 및 기술 개요를 제공합니다.
JPA 애플리케이션 기술에 이미 익숙한 경우 다음 주제는 JPA 애플리케이션 개발을 위한 작업공간 설정을 돕고, 개발 프로세스를 안내합니다.
이 Information Center에 있는 정보 외에 다음 링크를 통해서도 추가 학습 자료를 얻을 수 있습니다.
IBM® Redbooks®: EJB 3.0용 기능 팩이 설치된 WebSphere® Application Server 버전 6.1