Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Flèche

[JPA]영속성컨텍스트1 본문

spring

[JPA]영속성컨텍스트1

철학자 2021. 4. 4. 16:07
  • 커넥션풀 : DB에서 미리 connection(연결)을 해놓은 객체들을 pool에 저장해두었다가, 클라이언트 요청이 오면 connection을 빌려주고
    처리가 끝나면 다시 connection을 반납받아 pool에
    저장하는 방식을 말한다.

  • 캐쉬 : 애플리케이션의 처리 속도를 높여준다. 이미 가져온 데이터나 계산된 결과값의 복사본을 저장함으로써 처리 속도를 향상시키며,
    이를 통해 향후 요청을 더 빠르게 처리할 수 있다.

  • 웹 캐쉬 : 사용자(client)가 웹 사이트(server)에 접속할 때, 정적 컨텐츠(이미지, JS, CSS 등)를 특정 위치(client, network 등)에 저장하여, 웹 사이트 서버에 해당 컨텐츠를 매번 요청하여 받는것이 아니라
    특정 위치에서 불러옴으로써 사이트 응답시간을 줄이고, 서버 트래픽 감소 효과를 볼 수 있다.

엔티티 매니저 팩토리, 엔티티 매니저

엔티티 매니저 팩토리

  • 엔티티 매니저를 만듦.
  • 애플리케이션 전체에서 공유함 == 여러 스레드가 접근가능

엔티티 매니저

  • 엔티티의 CRUD등을 처리.
  • 스레드 하나당 하나를 생성함.

영속성 컨텍스트

EntityManger.persist(member);

  • DB에 엔티티 저장하는게 아니라 엔티티 매니저를 통해
    회원 엔티티를 영속성 컨텍스트에 저장.
  • 영속성 컨텍스트는 엔티티 매니저를 생성할 때 하나만 만들어진다.

엔티티의 생명주기

비영속

  • 엔티티 객체가 생성된 순수 객체 상태
    아직 영속성 컨텍스트나 데이터베이스와는 전혀 관계가 없는 상태

영속

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

준영속

  • 영속성 컨텍스트가 관리하던 영속 상태의 엔티티를 영속성 컨텍스트가 관리하지 않으면 준영속 상태가 됨

삭제

`EntityManager.remove(entity)`
  • 영속성 컨텍스트와 DB에서 엔티티 삭제