Jakarta Persistence (이하 JPA)는 관계형 데이터베이스에 접근하기 위한 표준 ORM 기술을 제공하며, 기존에 EJB에서 제공되던 CMP Entity Bean을 대체하는 기술이다.
JEUS는 JPA 스펙의 기능을 모두 지원한다. JPA는 JSR 338에서 JPA 2.2 스펙으로 정의되어 있으며, EJB 컨테이너에 의존하지 않고 EJB, 웹 모듈 및 Java SE Standalone 클라이언트에서 모두 사용이 가능하다.
또한 JPA는 사용자가 원하는 Persistence 프로바이더(Provider) 구현체를 선택해서 사용할 수 있다. JEUS 에서는 기본적으로 Eclipse Persistence Services Project의 EclipseLink 구현체를 제공한다.
필요에 따라 다른 구현체를 선택해서 사용할 수 있다. 이에 대한 자세한 사항은 “3.1. Persistence 프로바이더 변경”을 참고한다.
실제 JPA를 사용할 때는 JPA 스펙에서 제공하는 기본적인 API나 설정과 프로바이더의 특성을 함께 고려해야 한다. 특히, Caching과 같은 것은 중요한 특성으로 이를 모르고 애플리케이션을 개발하면 원하는 결과를 얻지 못할 수도 있다. 따라서 JPA를 환경에 따라 적절하게 구성해서 개발해야 한다. 이러한 것들은 앞으로 다양한 패턴을 통해 소개될 것이므로 EclipseLink JPA 사이트를 계속 참조하기를 권장한다.
본 안내서는 JEUS의 기본 프로바이더인 EclipseLink를 JEUS에서 사용하는 데 필요한 설정에 대해서만 설명한다. JPA 기술 자체나 프로그래밍 방법에 대해서는 다루고 있지 않기 때문에 이에 대해서는 본 안내서의 참고 자료 부분을 참고한다.