[java] Hibernate에서 트랜잭션 커밋(Commit)하는 방법은?
// 세션 열기
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;

try {
    // 트랜잭션 시작
    transaction = session.beginTransaction();
    
    // 작업 수행
    
    // 트랜잭션 커밋
    transaction.commit();
} catch (Exception e) {
    // 예외 발생 시 롤백
    if (transaction != null) {
        transaction.rollback();
    }
    e.printStackTrace();
} finally {
    // 세션 닫기
    session.close();
}

위의 코드에서는 다음과 같은 단계를 따릅니다:

  1. 세션을 열고 Hibernate의 세션 팩토리로부터 세션을 얻습니다.
  2. beginTransaction() 메서드를 호출하여 트랜잭션을 시작합니다.
  3. 작업을 수행합니다. (데이터베이스 조작, 조회 등)
  4. commit() 메서드를 호출하여 트랜잭션을 커밋합니다. 트랜잭션은 커밋되면서 데이터베이스에 변경 내용이 반영됩니다.
  5. 예외가 발생하면 롤백을 수행하여 트랜잭션을 취소합니다.
  6. 마지막으로 세션을 닫습니다.

트랜잭션은 데이터베이스 조작 시 일관성과 안정성을 보장하는 데 중요한 역할을 합니다. Hibernate에서는 트랜잭션을 사용하여 데이터베이스 작업을 그룹화하고, 성공적으로 완료되면 커밋하여 변경 내용을 영구적으로 반영합니다.

참고문헌: