여러개의 작업을 하나의 그룹으로 묶어서 처리하는 단위
❗️All or Nothing
하나의 작업이라도 실패하게 되면 모든 작업 실패
➡️ 데이터의 무결성을 보장해줌
JPA 기술을 사용한 DB와의 인터랙션은 내부적으로 JDBC API를 통해 이루어짐
트랜잭션은 ACID 원칙을 따름
작업을 더이상 쪼갤 수 없음
트랜잭션이 에러없이 성공적으로 종료될 경우, 비즈니스 로직에서 의도하는 대로 일관성 있게 저장되거나 변경되는 것
트랜잭션이 실행될 경우 각각 독립적으로 실행되어 서로에게 영향을 끼치지 말아야 함
트랜잭션이 완료되면 DB가 종료되어도 그 결과는 물리적인 저장소에 저장되어 유지되어야 함
모든 작업을 DB에 반영하는 명령어
수행시 트랜잭션이 종료되고, 수행되지 않으면 해당 작업은 DB에 반영되지 않음
작업 중 문제가 발생하여 트랜잭션 내에 수행된 작업들을 취소하는 것
트랜잭션 이전의 상태로 돌아감