2014-12-29 2 views
1

사용되는 트랜잭션 관리자에 대한 혼란이 있습니다. 다음은 내가 아는 몇 트랜잭션 매니저입니다 -Hibernate 트랜잭션 관리자를 -JPA 트랜잭션 매니저 -JDBC 트랜잭션 매니저 나 트랜잭션 매니저와 작동 방법이나 다를보다도 사용할 수있는 경우 -JTA 트랜잭션 매니저트랜잭션 관리자 J2EE 응용 프로그램 유형

서로 ..

그리고 어떻게 UserTranasction 및 응용 프로그램 서버의 트랜잭션 관리자가이 역할을 수행하는지.

미리 감사드립니다.

답변

1

프로젝트는 컨테이너 관리 트랜잭션 또는 어플리케이션 관리 트랜잭션을 가질 수 있습니다.

컨테이너 관리는 JTA가 트랜잭션을 처리하는 서버 (jboss, glassfish 등)가 기본 동작 인 경우입니다.

프로젝트가 트랜잭션을 처리 할 때 응용 프로그램이 관리됩니다. 트랜잭션 메소드를 제어 할 수있는 UserManagerTransaction을 사용하거나 "JPA 프로그래밍 방식 트랜잭션"(방금이 용어를 고안했습니다)을 사용할 수 있습니다.

entityManager.getTransaction(). begin()을 수행하여 트랜잭션 프로그래밍 방식 트랜잭션을 만들 수 있습니다. 당신은 Hibernate 트랜젝션과 같은 Hibernate 트랜젝션을 사용할 수있다.

Hibernate 트랜잭션을 사용하면 JPA 스펙에 속하지 않는 모든 Hibernate 기능에 액세스하게된다.

+0

우리가 "transaction.manager_lookup_class"이 속성 및 제 2 스프링을 통해 hibernate.cfg 파일이 구유를 정의 "<빈 ID ="의 transactionManager "클래스 ="org.springframework.orm.jpa.JpaTransactionManager "> \t \t <부동산 \t "그래서 서로 어떻게 관련되어 있고 하나의 선언으로 충분하거나 둘 다 트랜잭션에 필요합니다 ... Hibernate 트랜잭션 관리자를 사용하는 것과 다른 점은 무엇입니까? jdbc transaction manager – Majid

+0

아는 바로는, JDBC 트랜잭션 관리는 원시 JDBC로 작업 할 때입니다. – uaiHebert

+0

what abt : 우리는 hibernate.cfg 파일에서 2 개의 manger를 정의한다. "transaction.manager_lookup_class"이 속성과 2 번째부터 " = "entityManagerFactory"ref = "entityManagerFactory"/> "그래서 서로 어떻게 관련되어 있습니까? – Majid

관련 문제