[java] Hibernate에서 트랜잭션(Transaction) 처리하는 방법은?

트랜잭션을 시작하기 위해서는 다음과 같은 단계를 따르면 됩니다:

  1. Session 객체 생성: SessionFactory 클래스의 openSession() 메서드를 호출하여 Session 객체를 생성합니다.
Session session = sessionFactory.openSession();
  1. 트랜잭션 시작: Session 객체를 사용하여 트랜잭션을 시작합니다.
Transaction transaction = session.beginTransaction();
  1. 데이터 액세스 작업 수행: Session 객체를 사용하여 데이터베이스 액세스 작업을 수행합니다. 예를 들어, 데이터를 저장하는 경우 save() 메서드를 호출합니다.
Employee employee = new Employee("John Doe", "john.doe@example.com");
session.save(employee);
  1. 트랜잭션 커밋 또는 롤백: 모든 데이터 액세스 작업이 완료되면 트랜잭션을 커밋하거나 롤백합니다.
transaction.commit(); // 트랜잭션 커밋

// 또는

transaction.rollback(); // 트랜잭션 롤백
  1. Session 객체 종료: 모든 작업이 완료되면 Session 객체를 종료합니다.
session.close();

Hibernate의 트랜잭션 처리는 ACID 속성을 보장하여 데이터의 일관성과 안정성을 유지할 수 있도록 합니다.