본문 바로가기

JPA

자바의 트랜잭션

 자바에서 트랜잭션은 아래의 과정으로 수행된다.

  1. EntityManagerFactory 생성
  2. EntityManagerFactory로 EntityManager 생성
  3. EntityManager로부터 트랜잭션 호출
  4. 트랜잭션의 4단계 수행 (https://dogandbird-foot.tistory.com/101) 
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class Main {
    public static void main(String[] args) {
    	
        //1. EntityManagerFactory 생성
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
        
		//2. EntityManagerFactory로 EntityManager 생성
		EntityManager entityManager = emf.createEntityManager();

		//3. EntityManager로부터 트랜잭션 호출
        EntityTransaction transaction = entityManager.getTransaction();
        
        //4. 트랜잭션 4단계 시작!
        //4-1. Begin 단계
        transaction.begin(); 
        try{
            Member member = new Member();
            member.setId(1L);
            member.setName("hello");
			
            //4-2. 작업 수행 단계.
            entityManager.persist(member);
            
            //4-3. 커밋 단계
            transaction.commit();
        } catch(Exception e) {
        	//4-4. 오류 발생 시, 롤백단계
            transaction.rollback();
        } finally {
            emf.close();
        }
        entityManager.close();
    }
}

 

'JPA' 카테고리의 다른 글

JPA - 연관관계 주인(feat. mappedBy)  (0) 2023.05.19
영속성 컨텍스트!  (2) 2023.05.11
엔티티 매니저와 영속성 컨텍스트 정리  (0) 2023.05.01
1. JPA의 등장  (0) 2023.04.26
[JPA] N+1문제  (0) 2023.04.18