WSJPA 액세스 인텐트 사용

JPA(Java™ Persistence API) 액세스 인텐트는 데이터 소스에서 데이터를 읽을 때 사용되는 분리 레벨 및 잠금 레벨을 지정합니다. 액세스 인텐트는 JDBC(Java Database Connectivity) 분리 레벨 및 데이터를 검색할 때 읽기, 업데이트 또는 독점 잠금이 획득되는지 여부를 제어합니다.

이 태스크 정보

애플리케이션 서버의 JPA 지속성 제공자의 경우 애플리케이션이 TaskName을 기반으로 분리 및 ReadLockMode를 지정할 수 있습니다. TaskName을 사용하면 이러한 특성 적용을 보다 효율적으로 제어할 수 있습니다. 애플리케이션은 지속성 단위에서 정의되는 각 TaskName에 대한 엔티티 유형 및 대응하는 액세스 인텐트의 세트를 정의합니다.
참고: JPA 액세스 인텐트는 OpenJPA의 WebSphere용 JPA(WSJPA) 확장입니다.
제한사항:
  • 액세스 인텐트는 Java EE 서버 환경의 애플리케이션에 사용할 수 있습니다.
  • 액세스 인텐트는 비 조회 엔티티 관리자 인터페이스 메소드에 적용할 수 있습니다. 조회는 조회 힌트 인터페이스를 사용하여 분리 및 읽기 잠금 값을 설정합니다.
  • 액세스 인텐트는 DB2® 데이터베이스에서만 사용할 수 있습니다.
  • 액세스 인텐트는 변경이 예상되는 잠금 관리자가 사용되는 경우에만 적용됩니다. 다음을 지속성 단위 특성 목록에 추가하십시오. <property name="openjpa.LockManager" value="pessimistic"/>
표 1. 액세스 인텐트 특성 및 설명. 다음 표에서는 EJB(Enterprise JavaBeans) 2.x 엔티티 Bean 액세스 인텐트를 JPA 액세스 인텐트 특성과 비교합니다.
WebSphere® EJB 2.x 엔티티 Bean 액세스 인텐트 JPA 액세스 인텐트 설명
낙관적 분리: 읽기 커미트 데이터를 읽지만 잠금이 유지되지 않습니다. 버전 ID가 데이터 무결성을 보장하기 위해 업데이트 시 사용됩니다. 다른 트랜잭션이 데이터를 읽고 업데이트할 수 있습니다.
lockManager: 낙관적
조회 힌트: ReadLockMode: READ
비관적 읽기 분리: 반복 가능 읽기 공유 잠금을 통해 데이터를 읽습니다. 데이터 업데이트를 시도하는 다른 트랜잭션이 차단됩니다.
lockManager: 낙관적
조회 힌트: ReadLockMode: READ
비관적 업데이트 분리: 반복 가능 읽기 업데이트 또는 독점 잠금을 통해 데이터를 검색합니다. 기타 쓰기는 커미트 시까지 차단됩니다. 이 액세스 인텐트는 작성자가 여러 명인 경우 데이터 액세스 업데이트를 직렬화하는 데 사용될 수 있습니다.
lockManager: 비관적
조회 힌트: ReadLockMode: WRITE
비관적 독점 분리: 직렬화 가능 업데이트 또는 독점 잠금을 통해 데이터를 검색합니다. 기타 쓰기는 커미트 시까지 차단됩니다. 이 액세스 인텐트는 작성자가 여러 명인 경우 데이터 액세스 업데이트를 직렬화하는 데 사용될 수 있습니다.
lockManager: 비관적
조회 힌트: ReadLockMode:WRITE
TaskName은 다음 중 하나에 의해 트랜잭션 컨텍스트에서 설정됩니다.
  • TaskName은 트랜잭션이 WebSphere 로컬 트랜잭션(EJB 비지정 트랜잭션), 컨테이너 관리 트랜잭션(CMT)의 JTA 글로벌 트랜잭션 또는.Bean 관리 트랜잭션(BMT)의 사용자가 시작하는 글로벌 트랜잭션을 사용하여 시작할 때 EJB 컨테이너에서 자동으로 설정됩니다.
  • TaskName은 JPA에 대해 제공되는 TaskNameAccessor API를 통해 애플리케이션에서 수동으로 설정됩니다.

태스크 이름 사용은 모든 엔티티 사이에서 애플리케이션 범위를 갖는 persistence.xml 파일에서 지정하는 것보다 요청 범위에서 액세스 인텐트의 지정을 지원합니다. 종종 조회는 여러 다양한 트랜잭션 컨텍스트에 사용되는 메소드나 컴포넌트에 포함되어 있습니다. 이들 컨텍스트의 일부는 반복 가능한 읽기 및 업데이트 잠금 인텐트가 필요할 수 있지만 다른 일부 컨텍스트를 필요하지 않습니다.

분리 레벨 및 읽기 잠금은 다음에서 지정될 수 있습니다.
  • persistence.xml 파일의 애플리케이션 범위. 이 분리 레벨 및 읽기 잠금 유형은 persistence.xml 파일에서 지정되는 특성입니다. 이들 특성은 지속적 단위에서 정의되는 모든 엔티티에 적용됩니다.
  • 태스크 이름의 트랜잭션 범위. 트랜잭션 범위 힌트가 애플리케이션 범위 값을 대체합니다.
  • 조회 힌트를 갖는 조회 인스턴스. 조회 힌트는 특정 조회 인스턴스에 대해 분리 및 ReadLockMode를 대체하는 데 사용될 수 있습니다. 조회 힌트는 애플리케이션 또는 트랜잭션 범위에서 지정된 분리 레벨 및 읽기 잠금을 대체합니다.

프로시저

  1. TaskNameAccessor API를 사용하여 TaskName 설정 이 태스크는 TaskNameAccessor API를 사용하여 런타임 시에 JPA TaskName을 설정하는 방법을 설명합니다.
  2. JPA 지속 단위에서 TaskName 지정 이 태스크는 JPA 지속성 단위에서 TaskName을 지정하는 방법을 설명합니다.

다음에 수행할 작업

액세스 인텐트에 대한 자세한 정보는 액세스 인텐트 서비스 주제를 참조하십시오.

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_accessintentjpa
파일 이름:tejb_accessintentjpa.html