트랜잭션

java

[java] 체크, 언체크 예외에 대한 분석과 잘못된 오해

우선 글을 시작하기에 앞서, java의 checked/unchecked 예외가 적힌 아래의 표를 보자. 위의 표를 보고 "뭐야, 다 아는 내용이잖아?" 라는 생각이 들었다면, 그것은 잘못 공부한 것이다. 위의 표에서는 "예외 발생 시 트랜잭션 처리" 라는 부분이 잘못되었다. 온전히 "자바"의 관점에서만 본다면, rollback 여부와 예외의 종류는 전혀 무관하고, rollback을 할지, 말지는 우리가 정하는 거다. 이러한 오해의 기원은 Spring의 DB 트랜잭션 처리에 있다. Spring DB 트랜잭션 처리 chkecked 예외: 복구 가능성이 존재하기에 try catch로 잡아서 따로 복구로 직을 수행하도록하고 롤백하지 않는 것이 보통이다. unchecked 예외: 복구할 가능성이 없거나 적은 di..

Spring boot

[스프링 데이터 접근 활용 기술] 스프링 트랜잭션

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-2#reviews 스프링 DB 2편 - 데이터 접근 활용 기술 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 활용하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 소개 | 인 www.inflearn.com 김영한님의 위 강의를 기반으로 작성하였습니다. 스프링 트랜잭션 추상화 - JPA, JDBC 둘은 트랜잭션 코드가 완전히 다르다. 스프링에서는 이처럼 기술에 따른 트랜잭션 코드 차이 해결하고자, 트랜잭션 추상화를 제공한다. 스프링은 트랜잭션을 추상화해서 제공할 뿐만 아니라, 실무에서 주..

Spring boot

[spring 데이터 접근 핵심 원리 5] transaction - 2 (트랜잭션 동기화)

https://codenme.tistory.com/91 [spring 데이터 접근 핵심 원리] transaction, lock 데이터를 저장할 때, 파일로 저장하지 않고 "데이터 베이스" 로 저장하는 이유 -> 대표적인 이유는 "트랜잭션" 때문이다. 이번 글에선 스프링을 통해 @Transactional 어노테이션으로 단순화 되었던 트 codenme.tistory.com 위의 글에서 transaction에 관련한 코드를 jdbc로 구현하며, 아래와 같은 문제점들이 발생했다. 트랜잭션 문제 예외 누수 문제 JDBC 반복 문제 트랜잭션 문제 가장 큰 문제는 트랜잭션을 적용하면서 생긴 다음과 같은 문제들이다. JDBC 구현 기술이 서비스 계층에 누수되는 문제 트랜잭션을 적용하기 위해 JDBC 구현 기술이 서비스..

Spring boot

[spring 데이터 접근 핵심 원리 4] transaction - 1

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard 스프링 DB 1편 - 데이터 접근 핵심 원리 - 인프런 | 강의 백엔드 개발에 필요한 DB 데이터 접근 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 DB 접근 기술의 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - 강의 www.inflearn.com 김영한님의 위 강의를 바탕으로 작성하였습니다. 데이터를 저장할 때, 파일로 저장하지 않고 "데이터 베이스" 로 저장하는 이유 -> 대표적인 이유는 "트랜잭션" 때문이다. 이번 글에선 스프링을 통해 @Transactional 어노테이션으로 단순화 되었던 트랜잭션 로직이 내부에서 어떻게 ..

Spring boot

[Spring boot] 트랜잭션 설정

@Transactional 와 같이 propagation 옵션 없이 실행 시 아래의 옵션이 디폴트로 적용된다. @Transactional(propagation = Propagation.REQUIRED) 또한 readOnly 옵션 없이 실행 시, 아래의 옵션이 디폴트로 적용된다. @Transactional(ReadOnly = false) [readOnly 속성] import javax.transaction.Transactional import org.springframework.transaction.annotation.Transactional; @Transactional(readOnly=true) **주의 사항 1. org.springframework.transaction.annotation.Transac..

코앤미
'트랜잭션' 태그의 글 목록