[Spring] @Transactional

null·2023년 3월 15일
0

Spring

목록 보기
3/7

@Transactional

  • 스프링의 AOP(Aspect-Oriented Programming) 기술을 이용하여 트랜잭션을 자동으로 처리

  • 메서드 내에서 DB 작업 등 여러 개의 데이터 처리 작업을 하나의 트랜잭션으로 처리하고
    트랜잭션 중간에 문제가 발생하면 롤백(undo)하여 이전 상태로 되돌리는 작업 수행

	@Transactional
	@Override
	public void writeBoard(Board board) throws Exception {

		// 게시글 등록
		if (boardDao.save(board) == 0) {
			throw new Exception("게시글 등록 실패!");
		}

		// 첨부파일 등록
		if (board.getAttachedFiles().size() > 0) {
			boardDao.saveFiles(board);
		}
	}
  • 게시글 등록이 성공했음에도 불구하고 첨부파일 등록이 실패할 경우
    두 작업을 하나의 트랜잭션으로 처리하므로, 첨부파일 등록 작업에서 문제가 발생할 경우
    게시글 등록 작업도 함께 롤백(undo)하여 이전 상태로 되돌린다

0개의 댓글