이 태스크 정보
다른 번들에서 JPA 지속성 단위에
액세스하려면 JPA 번들을 구성하고
WebSphere® Application Server에
데이터 소스를 추가해야 합니다. 예를 들어
JPA 엔티티를 이용하고 데이터를 표시 및 조작하는 웹 애플리케이션 번들이
이에 해당합니다.
팁: JPA 지속성 파일이
JTA(Java™ Transaction API)
및 비JTA 데이터 소스에 대한 참조를 포함하는지 확인하십시오.
JPA에는 데이터 소스에 액세스하기 위한 두 가지 트랜잭션 패턴이 있습니다.
- jta-data-source
- JTA(Java Transaction API) 자원 패턴은
글로벌 트랜잭션에 따라 다릅니다. JTA 자원 패턴은
일반적으로 EJB(Enterprise JavaBeans)
세션 Facade의 범위 내에서 사용됩니다. 이 구성에서는
JPA에서 지속성 맵핑을 처리하는 동안 세션 Bean에서
트랜잭션 및 보안 컨텍스트를 제어할 수 있습니다. 이러한 경우 애플리케이션은
EntityTransaction 인터페이스를 사용하지 않지만 액세스
시 글로벌 트랜잭션에 등록된 EntityManager에 의존합니다.
- non-jta-data-source
- 비JTA 자원 패턴은 글로벌 트랜잭션이 없을 경우 단일 자원을 처리하는 데
사용됩니다. 비JTA 자원 패턴은
일반적으로 웹 애플리케이션 또는 애플리케이션 클라이언트 범위에서
사용됩니다. 애플리케이션은 EntityTransaction 인터페이스를 사용하여 데이터 소스 관련 트랜잭션을 제어합니다.
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 생성이 이에 해당됩니다.