11 데이터베이스 커넥션 풀과 트랜잭션 (2)


11 데이터베이스 커넥션 풀과 트랜잭션 (2)

4. 트랜잭션 처리 1) 트랜잭션(Transaction)이란 트랜잭션은 데이터베이스에서 일련의 작업을 하나로 묶어 처리하는 것을 의미합니다. 한 고객이 통장A에서 통장B로 계좌를 이체하려고 한다. 이러한 경우 통장A에서 돈을 인출한 후, 통장B로 입금하는 과정을 거친다. 그런데 만약 통장A에서는 정상적으로 돈이 인출되고, 통장B로 입금을 하는데 문제가 생길 경우 통장A에서 인출된 돈은 어떻게 처리해야 할까? 위 예시를 살펴보면, 데이터베이스 관점에서 통장A가 있는 테이블에서 update 문을 수행해서 지정한 금액만큼을 원래 금액에서 차감하고, 통장B에 지정한 금액을 추가하는 update 문을 수행하면 됩니다. 하지만 통장 B에서 수행하는 update 문에서 예외가 발생했다면, 먼저 수행한 통장A의 update 결과를 이전 금액으로 복귀시켜야 합니다. 이러한 과정은 프로그램 내에서 if문을 통해 개별 sql문의 처리를 확인하거나 exception 처리 등을 통해 구현할 수 있습니다. ...


#DBCP #자바웹

원문링크 : 11 데이터베이스 커넥션 풀과 트랜잭션 (2)