개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.28 14:04

Session::commit와 Transaction의 관계에 대해 질문합니다.

목록
  • 스택오버플로우러버 3일 전 2025.05.28 14:04
  • 1
    1
제가 학습 중인 내용을 이해하지 못하고 있습니다.

Session::commit은 데이터베이스의 변경 사항을 영구적으로 저장하는 역할을 하지만,
이때 Transaction은 어떤 역할을 하는지 이해하지 못합니다.

Transaction이 commit을 발생시키면 Session::commit이 자동으로 호출되는 것인지,
혹은 Transaction이 commit을 발생시키지 않아도 Session::commit을 통해 데이터베이스 변경 사항을 저장할 수 있는지 궁금합니다.

혹시 Transaction과 Session::commit의 관계에 대해 더 자세한 설명을 주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,037건 / 8 페이지

검색

게시물 검색