JPA 애플리케이션 개발

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 Container Manager Persistence 애플리케이션은 변경하지 않아도 계속 실행됩니다. JPA가 모든 애플리케이션에 대해 이상적이지는 않을 수 있지만 많은 애플리케이션에 다른 지속성 구현보다 더 나은 대체를 제공합니다.

제품에서 JPA 도구로 맵핑을 작성하고 자동으로 초기화하는 마법사를 사용할 수 있습니다. 기존 엔티티 클래스로부터 새 데이터베이스 테이블을 작성(하향식 맵핑)하거나 기존 데이터베이스 테이블로부터 새 엔티티 Bean을 작성(상향식 맵핑)할 수 있습니다. 또한 이 도구를 사용하여 이름 또는 기타 속성이 다른 기존 데이터베이스 테이블과 엔티티 Bean 사이에 맵핑을 작성(중간 합류식 맵핑)할 수도 있습니다. 데이터 액세스 애플리케이션을 디자인하는 경우 융통성을 위해 맵핑 유형 범위에서 선택할 수 있습니다. 여러 유형의 Java 클래스에서 맵핑을 작성할 수 있으며 데이터베이스 디자인의 여러 옵션으로 엔티티 상속을 지정할 수 있습니다.

JPA에 대해서는 JSR 220 EJB 3.0 스펙: JSR 220: Enterprise JavaBeans 3.0 에서 다룹니다.

개요

JPA 애플리케이션을 작성하기 전에 다음 주제를 읽어보면 좋습니다. 이러한 주제에서는 JPA 애플리케이션을 처음 접하는 경우 또는 이 개발 환경에서 JPA 애플리케이션을 개발하는 경우 유용한 계획 및 기술 개요를 제공합니다.

JPA 아키텍처
Java Persistence API는 지속성 프로그래밍 모델의 단순화를 나타냅니다.

시작하기

JPA 애플리케이션 기술에 이미 익숙한 경우 다음 주제는 JPA 애플리케이션 개발을 위한 작업공간 설정을 돕고, 개발 프로세스를 안내합니다.

샘플 및 학습서

이 제품에는 다음 JPA 학습서가 포함되어 있습니다.

태스크 정보 아이콘JPA 프로젝트 작성 및 구성
태스크 정보 아이콘EJB 3.0 온라인 라이브러리 애플리케이션

웹에서 사용 가능한 학습 자원

이 Information Center에 있는 정보 외에 다음 링크를 통해서도 추가 학습 자료를 얻을 수 있습니다.

IBM® Redbooks®: EJB 3.0용 기능 팩이 설치된 WebSphere® Application Server 버전 6.1


피드백