ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JPA - 영속성 컨텍스트 ?
    자바웹프로그래밍/JPA 2023. 9. 12. 23:22
    728x90
    반응형

    영속성 컨텍스트

    - 엔터티를 영구 저장하는 환경이다. 

    예) entitymanager.persist(member) - 와 같은 엔터티매니저 persist 메소드를 사용하면 영속성 컨텍스트에 attach된다.

     

     

    엔터티에는 생명주기가 있으며 다음과같이 4가지가 있다

     

    비영속 : 영속성 컨텍스트와 상관이없다. (영속성 컨텍스트에 attach되어있지 않다.)

    영속 : 영속성 컨텍스트에 저장된 상태이다.

    준영속 : 영속성 컨텍스트에 저장되어있다 특정 메소드를 통해 분리된 상태이다.

    삭제 : 영속성 컨텍스트에서 삭제된 상태이다.

     

    jpa에선 영속성 컨텍스트를 관리하는데 왜 이런식으로 관리하는가?

    영속성 컨텍스트로 엔터티를 관리시 장점은 아래와같이 5가지가 있다

     

    1. 영속성 컨텍스트(메모리)에서 가져와 빠르게 조회할수있다.(1차 캐시 (기본 @ID) 를 통해 )

    2. 동일성 보장

    3. 트랜잭션을 지원하는 쓰기 지연 (insert를 할때 query를 하나하나 날리지않고 한번에 보낼수있음. )

    4. 변경감지 (영속성 컨텍스트에 있으면 snapshot을 통해 변경감지를 할수있다.)

    5. 지연로딩 (객체를 사용할때까지 데이터베이스에서 조회하지않는다.)

     

     

     

     

    728x90
    반응형
Designed by Tistory.