일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- HTTP
- 프로그래머스
- 우아한테크코스
- 우테코
- 서블릿
- 코드리뷰
- JPA
- 스프링부트
- 스프링 부트
- AWS
- mock
- 세션
- Paging
- 의존성
- 미션
- REDIS
- Level2
- yml
- 우아한세미나
- CircuitBreaker
- 레벨2
- Docker
- 자바
- Spring Batch
- AOP
- MSA
- JUnit5
- 백준
- 트랜잭션
- 프리코스
Archives
- Today
- Total
목록고립 (1)
늘
[Transactional]Spring 프레임워크는 트랜잭션을 어떻게 구현하였는가?
제목에 대한 질문에 답을 하지 못했다.이 질문에 대해서 정리를 해보고자 한다. 그전에 트랜잭션이 무엇인지 정리하고 시작하려고 한다. 트랜잭션이란? 데이터베이스에 작용하는 여러 읽기와 쓰기를 수행하는 하나의 작업 단위 트랜잭션 범위 트랜잭션의 범위는 커넥션을 기준으로 한다. 커넥션이 다르다면 6에서 롤백이 일어나면, 3번과 5번에 해당한 쿼리만 롤백이 된다. 즉, 4번에서 쿼리들은 롤백되지 않고 반영이 된다. 다른 말로, 여러 메서드에서 하나의 트랜잭션을 갖고 싶다면 이 여러 메서드들을 하나의 커넥션을 사용하도록 하는 방법이 필요하다. -> 이러한 방법이 트랜잭션 전파를 사용한다. 트랜잭션 전파 보통 스프링에선 @Transactional을 통해 해당 어노테이션이 선언된 내부 메서드들도 한 커넥션에 묶인다...
우아한테크코스 4기
2022. 7. 10. 16:39