@Transactional 어노테이션 속성들 1.전파(Propagation) 속성 PROPAGATION_MADATORY : 작업은 반드시 특정 트랜잭션이 존재한 상태에서만 가능하다. PROPAGATION_NESTED : 기존에 트랜잭션이 있는경우, 포함되서 실행. PROPAGATION_NEVER : 트랜잭션 상황 하에 실행되면 예외발생. PROPAGATION_NOT_SUPPORTED : 트랜잭션이 있는경우, 트랜잭션이 끝날때까지 보류된 후 실행. PROPAGATION_REQUIRED : 트랜잭션이 있으면, 그 상황에서 실행. 없으면 새로운 트랜잭션 실행.(기본설정) PROPAGATION_REQUIRED_NEW : 대상은 자신만의 고유한 트랜잭션으로 실행. PROPAGATION_SUPPORTS : 트랜잭션..
스프링에서의 트랜잭션 관리 트랜잭션은 한번에 이루어지는 작업의 단위 트랜잭션의 성격을 ACID원칙으로 설명한다.(Atomicity, Consistency, Isolation, Durability) 1.원자성(Atomicity) 하나의 트랜잭션은 하나의 단위로 처리되어야 한다. 어떤 트랜잭션이 A, B로 구성된다면, A, B의 처리결과는 항상 동일한 결과여야 한다. A 는 성공했지만, B는 실패했을 경우 A, B는 원래 상태로 되돌려져야만 함. 2.일관성(Consistency) 트랜잭션이 성공했다면, 데이터베이스의 모든 데이터는 일관성을 유지해야만 한다. 트랜잭션으로 처리된 데이터와 , 일반 데이터 사이에는 전혀 차이가 없어야한다. 3.격리(Isolation) 트랜잭션으로 처리되는 중간에, 외부에서의 간섭..