TIL

효준·2024년 11월 27일
0

11월 27일 수요일
AM 알고리즘 풀이
PM 강의 수강, 과제 수행

💡 Today Issue

🤔 나의 생각 + 배운 것

영속성 전이(Casecade)

단순히 Entity를 저장, 삭제할 때 연관된 Entity에도 동일한 작업을 적용한다.

단일 Entity에 완전히 종속적인 경우 생명주기가 같다면 사용한다.
블로그 글의 댓글 or 상품의 상품 이미지

Casecade = Cascade.Type.ALL
  • ALL : 모두적용
  • PERSIST : 영속
  • REMOVE : 삭제
  • MERGE
  • REFRESH
  • DETACH

고아 객체

부모 엔티티와 연관관계가 끊어진 자식 Entity를 자동으로 삭제

orphanRemoval = true / default : true

트랜잭션 전파

트랜잭션


위 사진은 트랜잭션의 상태이다.

트랜잭션 전파란 한 트랜잭션이 다른 트랜잭션 내에서 어떻게 동작할지 결정하는 규칙
트랜잭션 간의 우선순위를 정하는 것 같다.

  • REQUIRED

    • REQUIRED는 스프링이 제공하는 기본적인(DEFAULT) 전파 속성으로, 기본적으로 2개의 논리 트랜잭션을 묶어 1개의 물리 트랜잭션을 사용하는 것이다. 앞선 예시로 살펴본 경우가 REQUIRED에 해당하며, 내부 트랜잭션은 기존에 존재하는 외부 트랜잭션에 참여하게 된다.

  • REQUIRES_NEW

    • REQUIRES_NEW는 외부 트랜잭션과 내부 트랜잭션을 완전히 분리하는 전파 속성이다. 그래서 2개의 물리 트랜잭션이 사용되며, 각각 트랜잭션 별로 커밋과 롤백이 수행된다. 이를 그림을 표현하면 다음과 같다.

트랜잭션 전파 속성

🕐회고

열심히 하자

profile
사진은 캣타워가 생겨 포효하는 고양이입니다.

0개의 댓글

관련 채용 정보