사용자 도구

사이트 도구


springframework:transaction

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판 양쪽 다음 판
springframework:transaction [2019/01/30 13:20]
kwon37xi [내포된 트랜잭션이 엮인 메소드에서 예외가 발생하면 기본 전체 트랜잭션이 롤백된다.]
springframework:transaction [2019/01/30 13:22]
kwon37xi [내포된 트랜잭션이 엮인 메소드에서 예외가 발생하면 기본 전체 트랜잭션이 롤백된다.]
줄 119: 줄 119:
   * ''TransactionTemplate''은 속성이 동일할 경우 재사용 가능하므로 동일 속성에 대해 하나의 객체만 만들어서 재사용하면 된다.   * ''TransactionTemplate''은 속성이 동일할 경우 재사용 가능하므로 동일 속성에 대해 하나의 객체만 만들어서 재사용하면 된다.
  
-===== 내포된 트랜잭션이 엮인 메소드에서 예외가 발생하면 기본 전체 트랜잭션이 롤백된다. =====+===== 참여 중인 트랜잭션이 실패하면 기본정책이 롤백 =====
   * [[http://woowabros.github.io/experience/2019/01/29/exception-in-transaction.html|응? 이게 왜 롤백되는거지? - 우아한형제들 기술 블로그]]   * [[http://woowabros.github.io/experience/2019/01/29/exception-in-transaction.html|응? 이게 왜 롤백되는거지? - 우아한형제들 기술 블로그]]
   * A -> B 메소드 호출되고 **A** 메소드에서 트랜잭션 시작되고 B 도 ''@Transactional(propagation=REQUIRED)''일 경우, B에서 예외가 발생하면 A에서 비록 예외를 잡아서 먹어버리더라도 트랜잭션은 롤백 된다.   * A -> B 메소드 호출되고 **A** 메소드에서 트랜잭션 시작되고 B 도 ''@Transactional(propagation=REQUIRED)''일 경우, B에서 예외가 발생하면 A에서 비록 예외를 잡아서 먹어버리더라도 트랜잭션은 롤백 된다.
   * Hibernate의 경우 Hibernate 메소드 호출시 롤백 되면 무조건 롤백 마킹해버린다.   * Hibernate의 경우 Hibernate 메소드 호출시 롤백 되면 무조건 롤백 마킹해버린다.
   * [[https://github.com/spring-projects/spring-framework/blob/4560dc2818ae1d5e1bc5ceef89f1b6870700eb1f/spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java#L265|globalRollbackOnParticipationFailure]]   * [[https://github.com/spring-projects/spring-framework/blob/4560dc2818ae1d5e1bc5ceef89f1b6870700eb1f/spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java#L265|globalRollbackOnParticipationFailure]]
springframework/transaction.txt · 마지막으로 수정됨: 2022/11/09 14:45 저자 kwon37xi