본문 바로가기

트랜잭션2

[DB] 트랜잭션(Transaction)매니저 & 프록시 & 트랜잭션 AOP 1. 트랜잭션애플리케이션구조 순수한 서비스 계층가장 중요한 계층은 핵심 비즈니스 로직이 들어있는 서비스 계층이다서비스 계층은 특정 기술에 종속적이지 않게 개발해야 한다계층을 나눈 이유도 서비스 계층을 최대한 순수하게 유지하기 위한 목적이 크다. 즉, JDBC를 쓰다 JPA로 변경 등에 대한 과정으로 인해 서비스 계층에 수정이 있으면 안된다 2. 트랜잭션 추상화트랜잭션은 원자적 단위의 비즈니스 로직을 처리하기 위해 사용한다JDBC, JPA 등 구현 기술마다 트랜잭션을 사용하는 방법이 다르다.JDBC: con.setAutoCommit(false)JPA: transaction.begin() 문제 해결아래와 같이 TxManager 인터페이스를 기반으로 각 기술에 맞는 구현체를 만들면 된다.서비스는 특정 트랜잭션.. 2024. 8. 11.
[DB] 트랜잭션(Transaction) 개념 및 동작원리 스프링 DB 1편 - 데이터 접근 핵심 원리 강의 | 김영한 - 인프런김영한 | 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니www.inflearn.com1. 트랜잭션 개념트랜잭션을 이름 그대로 번역하면 거래라는 뜻이다.즉, 데이터베이스에서 트랜잭션은 하나의 거래를 안전하게 처리하도록 보장해주는 것을 뜻한다.데이터를 저장할 때 파일 저장이 아닌, 데이터베이스에 저장하는 이유 중 대표적인 이유는 트랜잭션을 지원하기 때문이다.하나의 트랜잭션이 모두 성공해서 데이터베이스에 반영되는 것을 커밋이라하고, 작업 중 하나라도 실패해서 거래 이전으로 되돌리는 것을 롤백이라 한다. 2.. 2024. 8. 10.