자바에서 트랜잭션은 아래의 과정으로 수행된다.
- EntityManagerFactory 생성
- EntityManagerFactory로 EntityManager 생성
- EntityManager로부터 트랜잭션 호출
- 트랜잭션의 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 |