본문 바로가기
Memo/BootCamp : TIL

[Day 77] Spring MVC : 트랜잭션

by 달의 조각 2022. 9. 5.

학습 주제

 

트랜잭션이란?
트랜잭션 경계
Spring에서의 트랜잭션 방식
트랜잭션 적용

선언형 트랜잭션 방식
로컬 트랜잭션과 분산 트랜잭션

 


 

새롭게 배운 내용

 

2022.09.05 - [Back-End/Spring MVC] - 트랜잭션

 

트랜잭션

여러 개의 작업들을 하나의 그룹으로 묶어서 처리하는 단위 ACID 원칙 원자성(Atomicity): 하나의 그룹 단위는 모두 성공하거나, 모두 실패해야 한다. 일관성(Consistency): 트랜잭션이 성공적으로 종료

cookiee.tistory.com

 

 

보강할 내용

 

 

 

회고

 

오늘은 페어 프로그래밍 시간과 라이브 세션 시간이 없는데 학습할 내용도 많지 않았다!
클래스에 있는 내용들을 다 살피고 내일 페어 시간에 실습할 내용을 보고, JPA 강의를 연관 관계 매핑 부분까지 들을 생각이었다.

오늘의 학습 주제는 트랜잭션이었다. 트랜잭션은 데이터베이스를 학습할 때 익혔던 내용이 많아서 크게 어렵지 않게 해결했다. 오후에는 실습 프로젝트 내용을 확인했는데, Spring의 이벤트 기능을 구현하는 것이었다. 이벤트 기능은 구글링을 통해 어렵지 않게 구현했다. 문제는 외래키 제약 조건 문제 때문에 에러가 발생했다. JPA의 연관 관계 매핑 부분이 아직 익숙하지 않아서 오후에 강의를 들으며 깊게 공부할 계획이었기 때문에 이 에러는 내일까지 천천히 해결하기로 했다.

여기서부터 시작이었다. ㄱ- 오늘은 에러를 마주하고, 삽질하는 상황이 굉장히 많았다.

  1. 트랜잭션 실습의 외래키 제약 조건 에러
  2. JPA 학습 중 H2 데이터베이스를 실행하지 않아서 헤매기
  3. 테이블 삭제 후 다시 생성하는 과정 없이(아래 코드 주석 처리 해 놓고) 왜 테이블 매핑이 되지 않는지, 쿼리가 안 날아가는지 의문!
<property name="hibernate.hbm2ddl.auto" value="create" />

아주 기본적인 문제들이라 검색을 해도 (당연히) 나오지 않아서 어제 봤던 강의 내용을 다시 보며 해결했다. 계속 생각대로 되지 않아서 답답하기도 했고 오늘 JPA 공부도 많이 못했지만 막혔던 부분들을 해결하고, 배운 부분도 있어서 다행이다.

 

 

★★★★★

 

댓글