Spring 트랜잭션
·
Spring
스프링 트랜잭션스프링 트랜잭션 사용 방식스프링은 트랜잭션 추상화 인터페이스인 PlatformTransactionManager 를 제공하여 다양한 DataSource에 맞게 트랜잭션을 관리할 수 있게 한다.선언적 트랜잭션 관리(Declarative Transaction Management)@Transactional 어노테이션 하나만 선언해서 매우 편리하게 트랜잭션을 적용하는 것을 선언적 트랜잭션 관리라고 한다.이름 그대로 해당 로직에 트랜잭션을 적용하고 싶으면 선언하기만 하면 트랜잭션이 적용되는 방식으로 트랜잭션 관리가 프로그래밍 방식에 비해 훨씬 간편하고 실용적이기 때문에 실무에서는 대부분 선언적 트랜잭션 관리를 사용한다.선언적 트랜잭션과 AOP@Transactional 을 통한 선언적 트랜잭션 관리 방..
트랜잭션 (Transaction)
·
MySQL
데이터를 저장할 때 단순히 파일에 저장해도 되지만, 데이터베이스에 저장하는 이유는 무엇일까 ? 가장 대표적인 이유는 데이터베이스는 트랜잭션이라는 개념을 지원하기 때문이다.트랜잭션을 이름 그대로 번역하면 거래이다. 즉, 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다. 즉, 데이터베이스의 상태를 바꾸기 위해 수행되는 작업의 최소 단위를 의미한다. 모든 작업이 성공해서 데이터베이스에 정상 반영하는 것을 커밋(Commit)이라 하고, 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백(Rollback)이라 한다.트랜잭션 ACID트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질원자성 (Atomic)트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공 하거나 모두..