번들 내부에서 JPA를 사용하여 데이터에 액세스하는 경우 서버에서 Java™ EE 모듈로 처리되는 번들에서 작업 중이라고 가정합니다. 예를 들어 JPA 패싯이 사용되고 JPA를 사용하여 데이터에 액세스하고 데이터를 이용 및 표시하기 위해 엔티티 및 논리를 포함하는 OSGi 웹 애플리케이션 번들이 있습니다. 또 다른 예로는, EAR 배치의 일부가 아닌 OSGi 애플리케이션에 공개된 JPA를 사용하여 데이터를 이용하는 JPA 엔티티 및 논리를 포함하는 웹 프로젝트가 있습니다.
JPA 지속성 단위에 액세스하려면 OSGi 번들을 구성하고 WebSphere® Application Server에 데이터 소스를 추가해야 합니다.
JPA 지속성 파일이 JTA(Java Transaction API) 및 비JTA 데이터 소스에 대한 참조를 포함하는지 확인하십시오.
OSGi 애플리케이션에 대한 persistence.xml 파일의 경우 jta-data-source 및 non-jta-data-source 요소는 JNDI(Java Naming and Directory Interface) 검색, 서비스 레지스트리에 대한 JNDI 검색 또는 Blueprint를 통해 데이터 소스에 액세스합니다.
JTA 및 비JTA 데이터 소스가 persistence.xml 파일에 구성되지 않은 경우 서버에 구성된 기본 JTA 및 비JTA 데이터 소스가 사용됩니다. 기본적으로 값은 null입니다. 일부 JPA 엔티티 기능에서는 비JTA 데이터 소스를 지정해야 합니다. 예를 들어 자동 엔티티 ID 생성이 이에 해당됩니다.