문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
springframework:transaction [2018/04/27 14:44] kwon37xi [Read Only] |
springframework:transaction [2022/11/09 14:45] kwon37xi [Spring Transaction] |
||
---|---|---|---|
줄 3: | 줄 3: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[https:// | ||
===== 내부 트랜잭션 메소드 호출 금지 ===== | ===== 내부 트랜잭션 메소드 호출 금지 ===== | ||
줄 31: | 줄 32: | ||
Oracle JDBC 드라이버는 Read-Only 트랜잭션을 지원하며, | Oracle JDBC 드라이버는 Read-Only 트랜잭션을 지원하며, | ||
- | Spring-Hibernate 연동시에는 Session의 Flush Mode를 '' | + | Spring-Hibernate 연동시에는 Session의 Flush Mode를 '' |
줄 45: | 줄 46: | ||
===== Transaction 정보 처리 ===== | ===== Transaction 정보 처리 ===== | ||
* [[http:// | * [[http:// | ||
- | * [[http:// | + | * [[http:// |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
줄 112: | 줄 113: | ||
* '' | * '' | ||
- | ===== TransactionTemplate ===== | + | ===== Programatic Transaction Managemen - TransactionTemplate ===== |
* Progmatic transaction demarcation. | * Progmatic transaction demarcation. | ||
+ | * API와 DB 호출이 한 트랜잭션으로 엮이거나 하면 커넥션 점유 시간이 증가하면서 커넥션 부족에 시달릴 수 있다. | ||
+ | * 또한 하나의 Bean 에서 트랜잭션이 없는 메소드가 트랜잭션이 있는 메소드를 호출 할 경우 작동하지 않는다. | ||
+ | * 이를 '' | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
* [[http:// | * [[http:// | ||
* '' | * '' | ||
+ | * [[https:// | ||
+ | |||
+ | ===== 참여 중인 트랜잭션이 실패하면 기본정책이 전역롤백 ===== | ||
+ | * [[http:// | ||
+ | * A -> B 메소드 호출되고 **A** 메소드에서 트랜잭션 시작되고 B 도 '' | ||
+ | * Hibernate의 경우 Hibernate 메소드 호출시 롤백 되면 무조건 롤백 마킹해버린다. | ||
+ | * [[https:// | ||
+ | * [[https:// |