[@Transactional]

hamonjamon·2022년 7월 8일
0
  • @Transactional을 클래스나 메서드에 붙여줄 경우, 해당 범위 내의 메서드가 트랜잭션이 되도록 보장해준다. 이는 선언적 트랜잭션이라고 하는데, 직접 객체를 만들 필요없이 선언만으로 관리를 용이하게 해준다.

  • 메서드에 사용 시, 연산이 고립되어 다른 연산과의 혼선으로 인해 잘못된 값을 가져오는 경우를 방지할 수 있다.

  • 또한 연산의 원자성이 보장되어 연산이 도중에 실패할 경우 변경사항이 commit되지 않는다.

| 정리
이를 통해 해당 메서드를 실행하는 도중 메서드 값을 수정/삭제하려는 시도가 발생할 시 해당 데이터 값의 신뢰성이 보장되며, 연산 도중 오류가 발생해도 rollback하여 DB에 해당 결과가 반영되지 않도록 할 수 있다.

0개의 댓글