-
@Transactional 어노테이션SOLUX-우리만 앱 2021. 7. 1. 15:26
@Transactional 어노테이션
: 이 어노테이션 선언 시 스프링에서 트랜잭션 처리를 지원(선언적 트랜잭션)
트랜잭션?
데이터베이스의 논리적인 작업의 단위로 데이터베이스의 상태를 변경하는 작업이나
한꺼번에 수행되어야 할 연산들을 의미
트랜잭션의 성질(ACID)
1. Atomicity(원자성)
: 한 트랜잭션 내에서 실행된 작업들은 하나로 처리한다, 모두 성공하거나 모두 실패.
2. Consistency(일관성)
: 트랜잭션의 작업 결과는 항상 일관성이 있어야 한다. 즉, 트랜잭션이 진행 중인 경우 데이터베이스가 변경되더라도 변경된 데이터베이스가 아닌 처음 참조한 데이터베이스로 트랜잭션을 수행한다.
3. Isolation(독립성)
: 동시에 실행되고 있는 두개 이상의 트랜잭션은 독립적으로 수행되어야 한다. 즉, 하나의 트랜잭션이 완료될 때까지 그 트랜잭션의 결과를 참조할 수 없다.
4. Durability(지속성)
: 트랜잭션이 성공적으로 완료되면 결과는 계속해서 반영되어야 한다.
commit 과 Rollback
commit ?
: 트랜잭션이 성공적으로 끝났다.
Rollback ?
: 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션을 처음부터 다시 시작하거나 부분적으로 연산된 결과를 취소시킨다.
참고: 트랜잭션 -@Transactional 어노테이션 : 네이버 블로그 (naver.com)
'SOLUX-우리만 앱' 카테고리의 다른 글
Postman Unsupported Media Type 에러 (0) 2021.08.06 #2 ERD (0) 2021.07.13 #1 조별 일지 기록 페이지 (0) 2021.07.05 JPA란? (0) 2021.07.05 Get과 Post 방식 차이점 (0) 2021.06.30