스프링 트랜잭션 전파 - 2
·
Spring Transaction
기술스택JDK 17Spring Boot 3.3.5JPA 1. 요구사항회원을 등록하고 조회한다.회원에 대한 변경 이력을 추적할 수 있도록 변경될 때 변경이력을 DB LOG 테이블에 남겨야한다.이 예제는 단순화 하기 위해 회원 등록시에만 DB LOG 테이블에 남긴다.테스트 전 기본 코드아래는 기본 세팅 코드들이다.Log.java ( Log Entity)@Entity@Getter @Setterpublic class Log { @Id @GeneratedValue private Long id; private String message; public Log() { } public Log(String message) { this.message = message; }}..
스프링 트랜잭션 전파 - 1
·
Spring Transaction
기술스택JDK 17Spring Boot 3.3.5 먼저 들어가기 앞서 로그를 확인하기 위해 application.properties에 다음과 같은 코드를 추가를 하자. logging.level.org.springframework.transaction.interceptor=TRACE logging.level.org.springframework.jdbc.datasource.DataSourceTransactionManager=DEBUG #JPA log logging.level.org.springframework.orm.jpa.JpaTransactionManager=DEBUG logging.level.org.hibernate.resource.transaction=DEBUG #JPA SQL logging.leve..
스프링 트랜잭션 이해
·
Spring Transaction
기술 스택JDK 17GradleSpring boot 3.3.5Spring Data JpaH2 Database  먼저 트랜잭션에 대해 기본적인 설명을 보고싶다면 여기 를 들어가면 된다. 스프링 트랜잭션 소개스프링 트랜잭션 추상화각각의 데이터 접근 기술들은 트랜잭션을 처리하는 방식에 차이가 있다. 예를들어 JDBC 기술과 JPA 기술은 트랜잭션을 사용하는 코드 자체가 다르다.따라서 JDBC 기술을 사용하다가 JPA 기술로 변경하게 되면 트랜잭션을 사용하는 코드도 모두 함께 변경해야 한다.  스프링은 이런 문제를 해결하기 위해 트랜잭션 추상화를 제공한다. 바로 PlatformTransactionManager라는 인터페이스를 통해 트랜잭션을 추상화 한다.PlatformTransactionManager packa..