목록트랜잭션 (2)
The Office Lover
개요 @Transactional은 스프링 프레임워크에서 트랜잭션 관리를 선언적으로 처리하는 데 사용되는 어노테이션입니다. 이를 사용하여 트랜잭션의 시작과 종료, 속성 설정, 롤백 처리 등을 자동화할 수 있습니다. 적용 범위 클래스 인터페이스 메서드 해당 범위에서 적용 가능하며, 어노테이션이 붙은 범위 내에서 트랜잭션이 관리됩니다. 적용 범위에 따른 우선순위 1. 메서드(Method) > 클래스(Class) > 인터페이스(Interface) > 빈(Bean) 메서드 단위에 @Transactional 어노테이션이 적용된 경우, 해당 메서드의 트랜잭션 설정이 우선적으로 적용됩니다. 클래스 단위에 적용된 경우 해당 클래스의 모든 public 메서드에 영향을 미치지만, 메서드 단위에서 재정의 된 설정이 있다면 메..
1. Dirty Read 한 트랜잭션(T1)이 아직 커밋되지 않은 다른 트랜잭션(T2)에 의해 변경된 데이터를 읽는 현상을 말한다. 만약 T2가 롤백되면, T1이 읽은 데이터는 더 이상 유효하지 않게 됩니다. 이러한 현상을 방지하기 위해, 일반적으로 트랜잭션은 자신이 커밋되지 않은 다른 트랜잭션의 변경사항을 볼 수 없도록 격리됩니다. 2. Non-Repeatable Read 한 트랜잭션(T1) 내에서 동일한 쿼리를 두 번 실행했을 때, 그 사이에 다른 트랜잭션(T2)이 값을 변경하거나 삭제함으로써 두 쿼리의 결과가 서로 다르게 나오는 현상을 말합니다. 이를 방지하기 위해, 일반적으로 트랜잭션은 동일한 데이터에 대해 동시에 두 개 이상의 트랜잭션이 변경을 수행하지 못하도록 잠금을 설정하게 됩니다. 3. P..