Transaction 3

10. 스프링 트랜잭션 전파 - 활용(1)

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "스프링 DB 2편 - 데이터 접근 활용 기술" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 아래와 같은 순서로 공부를 진행합니다. 프로젝트 설정 커밋, 롤백 단일 트랜잭션 0. 프로젝트 설정 비즈니스 요구사항 회원을 등록하고 조회하는 기능을 가집니다. 회원에 대한 변경 이력을 추적할 수 있도록 회원 데이터가 변경될 때 변경 이력을 DB LOG 테이블에 남겨야 합니다. 예제를 단순화 하기 위해 회원 등록시에만 DB LOG 테이블에 남기도록 하겠습니다. Member @Entity @Getter @Setter public class Member { @Id @GeneratedValue private Long id; private String u..

8. 스프링 트랜잭션 이해(2) 주의사항, 프록시, 초기화 시점

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "스프링 DB 2편 - 데이터 접근 활용 기술" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 아래와 같은 순서로 공부를 진행합니다. 트랜잭션 AOP 주의 사항 - 프록시 내부 호출 트랜잭션 AOP 주의 사항 - 초기화 시점 4. 트랜잭션 AOP 주의 사항 - 프록시 내부 호출 프록시 내부 호출 @Transactional을 사용하면 스프링의 트랜잭션 AOP가 적용됩니다. 트랜잭션 AOP는 기본적으로 프록시 방식의 AOP를 사용합니다. @Transactional을 적용하면 프록시 객체가 요청을 먼저 받아서 트랜잭션을 처리하고 실제 객체를 호출합니다. 따라서 트랜잭션을 적용하려면 항상 프록시를 통해서 대상 객체(Target)을 호출해야 합니다...

8. 스프링 트랜잭션 이해(1) - 소개, 적용

이 글은 배민 기술이사 김영한 이사님의 인프런 강의 "스프링 DB 2편 - 데이터 접근 활용 기술" 을 기반으로 작성되었습니다. 문제 시 삭제 조치하겠습니다. 아래와 같은 순서로 공부를 진행합니다. 스프링 트랜잭션 소개 트랜잭션 적용 확인 트랜잭션 적용 위치 앞서 “스프링 문제 해결 - 트랜잭션” 을 통해서 스프링이 제공하는 트랜잭션 기능이 왜 필요하고 어떻게 동작하는지 내부 원리를 알아보았습니다. https://sh1mj1-log.tistory.com/94 https://sh1mj1-log.tistory.com/95 이번에는 스프링 트랜잭션을 더 깊이있게 학습하고, 또 스프링 트랜잭션이 제공하는 다양한 기능들을 자세히 알아봅시다. 먼저 본격적인 기능 설명 이전에 이전에 학습한 내용을 복습해봅시다. 1...