본문 바로가기
❤️‍🔥TIL (Today I Learned)

[TIL] 2022-12-22(39day)

by elicho91 2022. 12. 22.

@Transactional 어노테이션


👉  @Transactional

 - 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미.
 - begin, commit 을 자동으로 수행.
 - 예외 발생 시 rollback 처리를 자동으로 수행.

 

👉  @Transactional 성질

# 원자성(Atomicity)
한 트랜잭션 내에서 실행한 작업들은 하나의 단위로 처리한다. 즉, 모두 성공 또는 모두 실패.


# 일관성(Consistency)
트랜잭션은 일관성 있는 데이타베이스 상태를 유지한다. (data integrity 만족 등.)


# 격리성(Isolation)
동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않도록 격리해야한다.


# 영속성(Durability)
트랜잭션을 성공적으로 마치면 결과가 항상 저장되어야 한다.

 

 

👉  @Transactional 옵션

# isolation
트랜잭션에서 일관성없는 데이터 허용 수준을 설정.

# propagation
트랜잭션 동작 도중 다른 트랜잭션을 호출할 때, 어떻게 할 것인지 지정하는 옵션.

# noRollbackFor
특정 예외 발생 시 롤백 안함.

# rollbackFor
특정 예외 발생 시 롤백.

# timeout
지정한 시간 내에 메소드 수행이 완료되지 않으면 롤백 (-1일 경우 timeout을 사용하지 않는다)

# readOnly
읽기 전용으로 설정.

 


🙋‍♂️ 소감 : 

1차 과제를 리마인드 하고자 타이핑하여 2차 과제를 진행 도중 로직은 맞는 거 같은데 자꾸 오류가 발생되었다.

한참을 들여다봤는데 임포트 과정에서 그냥 첫 번째에 뜨는 걸 생각 없이 임포트를 해버렸다...ㅎㅎ;

덕분에 그냥 단순히 서비스에서 쓰는 어노테이션이라고 생각했던 @Transactional  대해 간단히 정리를 해보았다 ^^;

😈 아는 내용이라고 그냥 넘어가지 않기! 😈

'❤️‍🔥TIL (Today I Learned)' 카테고리의 다른 글

[TIL] 2022-12-26(41day)  (0) 2022.12.27
[TIL] 2022-12-23(40day)  (0) 2022.12.26
[TIL] 2022-12-21(38day)  (0) 2022.12.21
[TIL] 2022-12-20(37day)  (0) 2022.12.20
[TIL] 2022-12-19(36day)  (0) 2022.12.19

댓글