불냥이의 요약 : DB의 어떤 부분을 작업할 때, 나(@Transactional을 선언한 클래스나 매소드)만 작업하고 다른 친구들이 도중에 간섭하지 못하도록 해준다. 그리고 끝나면 로그를 자동으로 남겨주며, 만약 중간에 작업이 잘못된 경우 작업 시작 전 DB로 돌아가게 해준다.
Transaction :: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다.
@Transactional 은 begin이랑 commit을 자동으로 수행한다.
commit : 하나의 transaction 작업이 성공적으로 끝났고, 로그를 남긴다.
rollback : transaction 작업이 비정상적으로 종료되었을 때 작업 시작 전으로 돌아간다.
예외를 발생시키면 rollback 처리를 자동 수행한다.
등등의 기능이 있다.
인터넷의 설명들은 spring의 transactional 이지만 dropwizard 에서도 비슷하지 않을까 싶다.
그래도 공식 문서를 한번 보자
https://github.com/google/guice/wiki/Transactions
참고)
https://velog.io/@ligok113/JAVA-Transactional-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98
https://goddaehee.tistory.com/167
'프로그래밍 공부 > Java' 카테고리의 다른 글
[Lamda] :: (0) | 2021.06.03 |
---|---|
[Java.util]Optional (0) | 2021.05.26 |
[Guice] @Assisted (0) | 2021.05.21 |
Jooq란? (0) | 2021.05.20 |
[Lombok] @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor (0) | 2021.05.20 |
댓글