| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 |
| 31 |
- Java
- 벌크연산
- tracking-modes
- SPOF
- COPYOFRANGE
- ExceptionResolver
- Transaction
- RequestMappingHandlerMapping
- CORS
- NestJS 요청흐름
- 역정규화
- IllegalStateException
- #@Transacional
- Generic method
- 프로그래머스
- TDZ
- CQS
- wrapper class
- cross-cutting concerns
- type eraser
- pessimistic lock
- API
- propagation
- demand paging
- hoisting
- assertJ
- HandlerMethod
- optimistic lock
- generic type
- 단어변환
- Today
- Total
목록Transaction (2)
jingyulog
개요스프링에서 Transaction Propagation은 트랜잭션의 경계에서 이미 진행중인 트랜잭션이 있을 때 또는 없을 때 어떻게 동작할 것인가를 결정하는 기능이다. 예를 들어, @Transacional 어노테이션이 존재하는 메서드를 호출했을 때, 기존에 트랜잭션이 존재하면 재사용하지 혹은 예외를 던질지 등의 행동을 결정할 수 있다.이러한 트랜잭션의 전파 속성에는 REQUIRED, REQUIRED_NEW, MANDATORY, SUPPORTS, NOT_SUPPORTED, NESTED, NEVER가 존재하며, 각각은 @Transactional 어노테이션의 propagation 속성에 값을 설정함으로써 동작시킬 수 있다.물리 트랜잭션과 논리 트랜잭션물리 트랜잭션: 실제 데이터베이스에 적용되는 트랜잭션으로 ..
트랜잭션 격리 수준이란 여러 트랜잭션이 동시에 처리될 때, 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 여부를 결정하는 것이다.Isolation LevelDirty ReadNon-Repeatable ReadPhantom ReadREAD UNCOMMITED발생발생발생READ COMMITED없음발생발생REPEATABLE READ없음없음발생 (MySQL은 대부분 없음)SERILAIZABLE없음없음없음Phantom Read : SELECT로 조회한 경우, 트랜잭션이 끝나기 전에 다른 트랜잭션에 의해 추가된 레코드가 발견되는 현상으로 잠금이 사용되는 경우에 발생한다. 잠금있는 읽기(SELECT FOR UPDATE, SELECT FOR SHARE)는 데이터 조회가 undo ..