티스토리 뷰
반응형
1. 오라클
read commit
2. MySQL
repeatable read
둘은 select시에 트랜잭션을 걸게 되면 차이가 들어난다. 무슨 차이가 있는지 살펴보자.
PHANTOM READ (데이터가 보였다 안보였다)
-> 정합성이 깨짐
3. 스프링부트의 트랜잭션
- 세션의 시작은 서블릿이 시작되는 시점 부터~ (세션은 영속성 컨텍스트를 포함)
- 트랜잭션의 시작은 서비스 레이어부터, JDBC 커넥션도 이 시점부터.
- 트랜잭션의 종료는 서비스 계층에서 종료, JDBC 커넥션도 이 시점 부터 종료.
- 세션은 컨트롤러 영역까지 끌고 가기 때문에 영속성이 보장되어 select가 가능해지고 lazy-loading이 가능해진다.
참고 블로그 : https://getinthere.tistory.com/27
반응형
'개발일지 > Spring' 카테고리의 다른 글
스프링부트 with JPA 블로그 13강 - 시큐리티 동작 원리 (0) | 2022.12.06 |
---|---|
스프링부트 개념정리 with JPA 3강 - 스프링부트 동작원리 (0) | 2022.11.01 |
스프링부트 개념정리 with JPA 2강 - JPA개념 잡기 (0) | 2022.10.28 |
스프링부트 개념정리 with JPA 1강 - 스프링 개념잡기 (0) | 2022.10.26 |
댓글