Java Persistence API(JPA) 기능 개요

애플리케이션에 사용할 수 있는 JPA 기능에는 두 가지가 있습니다. jpa-2.0은 Apache OpenJPA 개방형 소스 프로젝트로 빌드되었습니다. jpa-2.1은 EclipseLink 개방형 소스 프로젝트로 빌드되었습니다.

jpa-2.0

Java™ Persistence API (JPA) 2.0 for WebSphere Application Server는 Apache OpenJPA 2.2.x 개방형 소스 프로젝트로 빌드되었습니다.

Apache OpenJPA는 JPA 1.0 및 2.0 스펙을 준수하는 구현입니다. WebSphere® Application Server는 OpenJPA를 기본 구현으로 사용하며, 확장기능을 이용함으로써 WebSphere Application Server 고객에게 추가 기능 및 유틸리티를 제공합니다. WebSphere Application Server용 JPA는 OpenJPA로부터 빌드되었으므로 모든 OpenJPA 기능, 확장기능 및 구성은 WebSphere Application Server 확장기능의 영향을 받지 않습니다. WebSphere Application Server에서 OpenJPA 애플리케이션을 사용하기 위해 이 애플리케이션 변경을 수행하지 않아도 됩니다.

JPA for WebSphere Application Server는 OpenJPA보다 호환성이 뛰어납니다. JPA for WebSphere Application Server에는 애플리케이션 개발 및 배치를 위한 도구 세트가 포함되어 있습니다. JPA for WebSphere Application Server의 기타 기능에는 DB2® Optim pureQuery Runtime, DB2 최적화, JPA Access Intent, 개선된 추적 기능, 명령 스크립트 및 변환된 메시지 파일이 포함됩니다. 이 제품의 JPA 제공자는 com.ibm.websphere.persistence.PersistenceProviderImpl입니다.

Apache OpenJPA는 지속적 환경을 구성하기 위한 특성 사용으로 지원합니다. JPA for WebSphere Application Server 특성은 openjpa 또는 wsjpa 접두부를 사용하여 지정할 수 있습니다. openjpawsjpa 접두부는 공통 특성 세트에 대해 혼합하여 사용할 수 있습니다. 이 규칙에 대한 예외는 wsjpa 접두부를 사용하는 wsjpa 특정 구성 특성입니다. JPA for WebSphere Application Server 특정 특성이 openjpa 접두부와 함께 사용되면 위반 특성이 wsjpa 특성으로 취급됨을 표시하는 경고 메시지가 로깅됩니다. openjpa 접두부에는 이와 반대의 경우가 성립되지 않습니다. 이 경우에는 위반 특성이 무시됩니다.

jpa-2.1

Java Persistence API (JPA) 2.1 for WebSphere Application Server는 EclipseLink 개방형 소스 프로젝트로 빌드되었습니다. EclipseLink는 모든 JPA 스펙 버전의 참고 구현입니다. 이 제품의 JPA 제공자는 org.eclipse.persistence.jpa.PersistenceProvider입니다.

JPA 2.1 스펙에는 JPA 2.0 스펙에서 사용할 수 없는 새 기능이 추가되었습니다. 이러한 기능에는 다음 항목이 포함됩니다.

  • 스키마 생성
  • 유형 변환 메소드
  • 조회 및 찾기 조작의 엔티티 그래프
  • 동기화되지 않은 지속적 컨텍스트
  • 스토어드 프로시저 호출
  • 엔티티 리스너 클래스로의 인젝션
  • JPQL 개선사항
  • 기준 API 개선사항
  • 기본 조회의 맵핑

이러한 기능의 세부사항은 JPA 2.1 스펙을 참조하십시오. 이 제품은 EclipseLink API의 서브세트 또한 제공합니다. 세부사항은 Liberty 기능 페이지, Java Persistence API 2.1을 참조하십시오.

참고: JPA 2.1은 JPA 2.0과 하위 호환됩니다.

JPA 기능 호환성

jpa-2.0

jpa-2.0 기능은 JPA 2.0 스펙 구현이며 Apache OpenJPA를 기반으로 합니다. 이 기능은 Java Platform, Enterprise Edition(Java EE) 6 기술군의 일부이지만 다른 Java EE 7 기능과 호환되므로 특별합니다. 예를 들어, Java EE 7 기능인 servlet-3.1 기능은 jpa-2.0 기능과 함께 사용됩니다. 이는 애플리케이션이 기존 JPA 제공자를 유지하면서도 새 Java EE 7 기능을 사용할 수 있도록 해 줍니다.

jpa-2.1

jpa-2.1 기능은 JPA 2.1 스펙 구현이며 EclipseLink를 기반으로 합니다. 이 기능은 다른 Java EE 7 기능하고만 호환됩니다. jpa-2.1 기능이 다른 Java EE 6 기능과 함께 사용되면 다음 오류가 message.log 파일에 생성됩니다.

CWWKF0033E: 싱글톤 기능 com.ibm.websphere.appserver.javaeeCompatible-7.0 및 com.ibm.websphere.appserver.javaeeCompatible-6.0은 동시에 로드될 수 없습니다.
구성된 기능 jpa-2.1 및 servlet-3.0에 충돌을 일으키는 하나 이상의 기능이 포함되어 있습니다. 사용자의 구성이 지원되지 않습니다. server.xml을 업데이트하여 호환되지 않는 기능을 제거하십시오. 

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

파일 이름: cwlp_jpa_feat_overview.html