Spring 17. 트랜잭션

김창민·2024년 8월 16일

BE

목록 보기
37/50

트랜잭션

  • DB 데이터들의 무결성과 정합성을 유지하기 위한 논리적 개념
    • 즉, DB 데이터들을 안전하게 관리하기 위한 개념임
  • 하나의 트랜잭션엔 여러 SQL문이 포함될 수 있음

과정

  • 한 트랜잭션 내부의 모든 SQL문이 성공적으로 수행하면 DB에 변경을 반영한다.
  • 한 트랜잭션 내부의 SQL문중 하나라도 실패하면 롤백한다.

JPA의 트랜잭션

  • JPA에서는 영속성 컨텍스트가 트랜젝션임
    • 영속성 컨택스트 내부 객체들이 변경되면, 해당 정보들을 쓰기 지연 저장소에 보관했다가. 마지막에 한번에 DB에 요청한다.
    • 이를 위해선 EntityManager에서 EntityTransaction를 가져와서 적용한다. EntityTransaction et = em.getTransaction();
  • et.begin(); : 트랜잭션 시작
  • et.commit(); : 트랜잭션 작업을 DB에 반영
  • et.rollback(); : 롤백임
profile
일일 회고 : https://rlackdals981010.github.io/

0개의 댓글