불냥이의 요약 : DB의 어떤 부분을 작업할 때, 나(@Transactional을 선언한 클래스나 매소드)만 작업하고 다른 친구들이 도중에 간섭하지 못하도록 해준다. 그리고 끝나면 로그를 자동으로 남겨주며, 만약 중간에 작업이 잘못된 경우 작업 시작 전 DB로 돌아가게 해준다.
Transaction :: 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위이다.
@Transactional 은 begin이랑 commit을 자동으로 수행한다.
commit : 하나의 transaction 작업이 성공적으로 끝났고, 로그를 남긴다.
rollback : transaction 작업이 비정상적으로 종료되었을 때 작업 시작 전으로 돌아간다.
예외를 발생시키면 rollback 처리를 자동 수행한다.
등등의 기능이 있다.
인터넷의 설명들은 spring의 transactional 이지만 dropwizard 에서도 비슷하지 않을까 싶다.
그래도 공식 문서를 한번 보자
https://github.com/google/guice/wiki/Transactions
google/guice
Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 6 and above, brought to you by Google. - google/guice
github.com
참고)
[Spring] @Transactional 사용시 주의해야할 점
Spring @Transactional 주의점 안녕하세요. 오늘은 Spring 의 @Transactional 어노테이션을 사용할 때, 주의점에 대해 포스팅합니다. Spring 에서 JPA 기술을 쓸 때 빼놓을 수 없는 기능중 하나는 @Transa.
mommoo.tistory.com
https://velog.io/@ligok113/JAVA-Transactional-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98
[JAVA] @Transactional 트랜잭션
트랜잭션이란?데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위.Atomic ( 원자성 )하나의 트랜잭션에서 작업되는 일들은 모두 실행되던지 모두 실행되지 않도록 해야한다.Consistency (
velog.io
https://goddaehee.tistory.com/167
[Spring] Transactional 정리 및 예제
[Spring] @Transactional 정리 및 예제 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 어노테이션 @Transactional ] 입니다. : ) 들어가기 앞서...... SI를 할때, 현재 어느 쇼핑몰 운영을 맡으며 개..
goddaehee.tistory.com
'프로그래밍 공부 > 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 |
댓글