
Transaction은 데이터베이스의 변경 사항을 일시적으로 저장하는 논리적인 단위입니다. Transaction은 여러 개의 SQL 명령을 하나의 논리적인 단위로 묶어, 데이터베이스의 일관성을 유지하기 위해 사용됩니다.
Session::commit은 Transaction이 완료된 후 데이터베이스의 변경 사항을 영구적으로 저장하는 역할을 합니다. 하지만, Session::commit은 Transaction이 commit을 발생시키지 않아도 호출할 수 있습니다.
예를 들어, 다음과 같은 경우가 있습니다.
1. Transaction이 commit을 발생시키지 않으면, 데이터베이스의 변경 사항은 영구적으로 저장되지 않습니다.
2. Transaction이 rollback을 발생시키면, 데이터베이스의 변경 사항은 모두 취소됩니다.
3. Transaction이 commit을 발생시키면, 데이터베이스의 변경 사항은 영구적으로 저장됩니다.
따라서, Transaction이 commit을 발생시키지 않으면 Session::commit을 통해 데이터베이스의 변경 사항을 저장할 수 있습니다. 하지만, Transaction이 rollback을 발생시키면 Session::commit을 통해 데이터베이스의 변경 사항을 저장할 수 없습니다.
2025-05-28 14:05