본문 바로가기

트랜잭션2

[DB] 트랜잭션 전파 설정 개념 Spring에서 사용하는 '@Transactional'은 해당 메서드를 하나의 트랜잭션 안에서 진행할 수 있도록 만들어주는 역할을 한다. 이때 트랜잭션 내부에서 트랜잭션을 또 호출한다면 새로운 트랜잭션이 생성될 수도 있고, 이미 트랜잭션이 있다면 부모 트랜잭션에 합류할 수도 있다. 진행되고 있는 트랜잭션에서 다른 트랜잭션이 호출될 때 어떻게 처리할지 정하는 것을 '트랜잭션 전파 설정'이라 한다. 전파 설정 옵션 트랜잭션의 전파 설정은 '@Transactional'의 옵션 'propagation'을 통해 설정할 수 있다. REQUIRED (기본값) 부모 트랜잭션이 존재한다면 부모 트랜잭션으로 합류 부모 트랜잭션이 존재하지 않으면 새로운 트랜잭션을 생성 중간에 롤백이 발생한다면 모두 하나의 트랜잭션이기.. 2021. 5. 2.
[DB] 트랜잭션(Transaction) 개념 트랜잭션(Transaction)은 데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 하는 일련의 연산을 의미한다. 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위이다. 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. 상태변화 : SQL질의어(SELECT | INSERT | UPDATE | DELETE)를 통해 DB에 접근하여 데이터베이스 상태가 변화하는 것 작업 단위 : 일련의 연산(SQL 명령문 집합). 사람이 정하는 기준(하나의 논리적 기능을 수행하기 위한)에 따라 정의함 하나의 트랜잭션 설계를 잘 만드는 것이 데이터를 다룰 때 많은 이점을 가져다.. 2021. 4. 23.