Spring/Spring Transaction

Spring/Spring Transaction

Spring Transaction 2. 스프링 트랜잭션 전파와 활용

스프링 트랜잭션 전파(Propagation)는 트랜잭션이 중첩되거나 여러 트랜잭션이 동시에 발생할 때, 이 트랜잭션들이 어떻게 상호작용할지를 결정하는 중요한 개념이다. HikariCP 커넥션 풀과 트랜잭션 관리스프링에서 트랜잭션을 다루는 경우, Hikari 커넥션 풀을 대부분 사용한다. 이때 반환되는 커넥션은 프록시 객체로 감싸져 있다. 프록시 객체의 주소는 매번 다르지만, 실제 물리적인 커넥션은 동일하다. 예를 들어, 두 개의 논리 트랜잭션이 동일한 물리 커넥션을 공유할 수 있다.중첩 트랜잭션중첩 트랜잭션은 하나의 트랜잭션이 진행 중일 때 또 다른 트랜잭션이 시작되는 상황을 의미한다. 이때 내부 트랜잭션이 외부 트랜잭션에 참여하는 것처럼 보이는 것이 기본 동작이다. 스프링에서는 이러한 동작을 통해 논리..

Spring/Spring Transaction

Spring Transaction 1. 스프링 트랜잭션 이해

스프링 프레임워크는 강력한 트랜잭션 관리 기능을 제공한다.트랜잭션 추상화: JDBC와 JPA의 차이스프링의 트랜잭션 추상화는 서로 다른 데이터 접근 기술(JDBC, JPA 등)에서 동일한 방식으로 트랜잭션을 관리할 수 있게 해준다.예를 들어, JDBC에서는 트랜잭션을 직접 제어해야 하지만, JPA에서는 EntityManager를 통해 트랜잭션을 제어한다.이러한 차이는 스프링이 제공하는 PlatformTransactionManager 인터페이스를 통해 해결된다.JDBC 트랜잭션 예시public void accountTransfer(String fromId, String toId, int money) throws SQLException { Connection con = dataSource.getConn..