
Spring Framework에서 Session::rollback 메서드는 트랜잭션을 롤백하는 메서드입니다.
1. 트랜잭션을 시작하기 위해 `@Transactional` 어노테이션을 사용하거나 `Session.beginTransaction()` 메서드를 호출합니다.
2. 트랜잭션 내에서 데이터베이스에 변경을 수행합니다.
3. 롤백을 호출하기 전에 `Session.commit()` 메서드를 호출하지 않은 경우, 트랜잭션은 자동으로 롤백됩니다.
4. `Session.rollback()` 메서드를 호출하면 트랜잭션 내의 모든 변경이 취소됩니다.
5. 롤백 후, Session은 다시 사용할 수 있습니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
java
@Service
public class UserService {
@Autowired
private SessionFactory sessionFactory;
@Transactional
public void createUser(User user) {
Session session = sessionFactory.getCurrentSession();
session.save(user);
// 롤백을 호출하기 전에 commit을 호출하지 않은 경우, 자동 롤백
// session.commit();
session.rollback();
// 롤백 후, Session은 다시 사용할 수 있습니다.
session.save(new User("이름", "이메일"));
}
}
이 예제에서 `createUser` 메서드는 트랜잭션 내에서 사용자를 생성하고 롤백합니다. 롤백 후, Session은 다시 사용할 수 있습니다.
2025-05-23 13:10