Spring Boot - JPA 2

UnKnown12·2022년 12월 5일
0

Spring Boot

목록 보기
4/13
post-thumbnail

📌 @Entity 생명주기

비영속 상태

  • 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태

영속 상태

  • 영속성 컨텍스트 에 관계되어 있고
    관리 되어 있는 상태

준영속 상태

  • 영속성 컨텍스트에 저장되었다가 ( 영속 -> 비영속 )
    분리된 상태

삭제

  • remove 를 통해
    @Entity 관계에서 삭제된 상태

📌 비영속 상태

  • 영속상태에서 분리된 데이터를 말하며,
    JPA 와 전혀 상관이 없는 상태

📌 트랙잭션

Transcation

  • DB의 상태를 변경시키기 위해 수행하는 작업단위

  • JPA 에서도 트랙잭션을 먼저 시작하고 그 후
    JPA 작업을 수행한 후, 최종 마무리가 되면
    트랙잭션을 commit(); 하여
    DB 작업을 마무리 한다.

📌 트랙잭션 4가지 특징

  • JPA 가 트랙잭션 안에서 실행하는 이유

1. 원자성

  • 트랜잭션 내부의 작업은
    DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야한다.

2. 일관성

  • 트랙잭션의 작업처리의 결과가 항상 일관되어야한다.
    즉, 데이터 타입이 반환 후와 전이 항상 동일해야 한다.

3. 지속성

  • 트랙잭션이 성공적으로 완료되면
    DB에 영구적으로 결과가 반영되어야한다
    ( 이부분은 commit() 처리를 한다면 충족된다 )

4. 독립성

  • 하나의 트랙잭션은 다른 트랙잭션과 독립적이여 하며
    서로의 간섭이 불가능해야한다.
profile
Hyobin12

0개의 댓글