LUNA's Archive

고정 헤더 영역

글 제목

메뉴 레이어

LUNA's Archive

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (90)
    • C (2)
    • C++ (1)
    • Data Structure & Algorithm (9)
    • Computer Vision (0)
    • RDBMS (19)
    • Spring Framework (7)
    • Network (8)
    • Spring Webflux (2)
    • Java (18)
    • 대규모 설계 기초 (12)
    • Spring Data JDBC (5)
    • Spring Security (5)
    • JPA (0)
    • Spring Batch (0)
    • Infra (2)
홈태그방명록
  • C 2
  • C++ 1
  • Data Structure & Algorithm 9
  • Computer Vision 0
  • RDBMS 19
  • Spring Framework 7
  • Network 8
  • Spring Webflux 2
  • Java 18
  • 대규모 설계 기초 12
  • Spring Data JDBC 5
  • Spring Security 5
  • JPA 0
  • Spring Batch 0
  • Infra 2

검색 레이어

LUNA's Archive

검색 영역

컨텐츠 검색

transaction

  • Database Transaction

    2022.04.26 by Wanderer Kim

  • Spring Transaction 사용 시 주의할 점

    2021.09.25 by Wanderer Kim

  • 선언적 Transactional

    2021.09.19 by Wanderer Kim

Database Transaction

트랜잭션이란? 트랜잭션은 데이터베이스 상태를 변환시키는 논리적 수행 단위이다. 트랜잭션이 필요한 이유 회원의 등급을 업그레이드하는 작업을 진행한다고 생각해보자. 여러 명의 회원 등급을 업그레이드하는 도중에 시스템상의 문제로 작업이 정상적으로 마무리되지 못했다. 이때 트랜잭션이 없으면 어떤 회원의 등급은 업그레이드 되고 어느 회원은 업그레이드 되지 못하는 문제가 발생하게 된다. 이런 문제를 방지하기 위해 회원 등급을 업그레이드 하는 작업을 한 트랜잭션으로 묶으면 작업을 성공적으로 마친후에야 실제 데이터베이스에 반영이 된다. 트랜잭션의 성질 트랜잭션의 성질을 흔히 ACID로 표현한다. Atomicity(원자성) 하나의 트랜잭션이 더 작게 나눌 수 없는 최소의 단위라는 뜻이다. 트랜잭션이 모두 반영되거나, 아..

RDBMS 2022. 4. 26. 23:24

Spring Transaction 사용 시 주의할 점

트랜잭션 안에서 트랜잭션을 새로 여는 경우 PROPAGATION_REQUIRED를 사용할 때 주의 사항 Spring이 기본값으로 사용하는 propagation behavior는 PROPAGATION_REQUIRED 이다. 이 옵션을 사용하면 어떤 트랜잭션 안에서 TransactionTemplate 을 통해 트랜잭션을 열려고 시도할 경우, AbstractPlatformTransactionManager.getTransact 는 이미 열려있는 기존 트랜잭션을 반환 한다. 이로 인해 발생하는 눈여겨 볼만한 특징에는 두 가지가 있다. 첫 번째 포인트는 안쪽 트랜잭션이 롤백되면 바깥쪽 트랜잭션도 롤백된다는 것이다. 이는 코드 상으로 분리되어 보이는 두 트랜잭셔닝 사실 한 트랜잭션 안에서 실행되고 있기 때문이다. t..

Spring Data JDBC 2021. 9. 25. 20:39

선언적 Transactional

스트링에서 트랜잭션 처리 방법스트링에서는 트랜잭션 처리를 @Transactional을 사용하는 방법을 제공한다. 이를 선언적 트랜잭션이라 부른다.스프링에서는 @Transactional을 사용하면 해당 어노테이션이 명시된 모든 메소드들에 대해 내부적으로 AOP를 사용하여 트랜잭션 처리 코드가 전/후로 수행된다.Spring에서 Transaction 관리를 위해 사용되는 AOP 프록시 매커니즘JDK Dynamic Proxy인터페이스에 대한 proxy만을 지원하며, 클래스에 대한 proxy를 지원할 수 없다.CGLIB ProxyRuntime시에 target 메소드가 호출될 때 해당 메소드의 advice 적용 여부를 결정한다. 그러나 메소드는 처음 호출 되었을때 동적으로 bytecode를 생성하여 이후 호출에서는..

Spring Data JDBC 2021. 9. 19. 19:40

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
LUNA's Archive © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.