ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #JPA-4 영속성 컨텍스트(1)
    JPA 2021. 2. 15. 16:11

    [출처] 인프런 김영한 강사님 -자바 ORM 표준 JPA 프로그래밍 기본

     

    1. JPA에서 가장 중요한 2가지

    • 객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping)

    • 영속성 컨텍스트

     

    2. EMF와 EM 

    EMF와 EM

    -엔티티 매너저 팩토리는 여러 스레드가 동시에 접근해도안전하므로 서로 다른 스레드 간에 공유해도 되지만,

    엔티티 매니저는 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 절대 공유하면 안 된다.

     

     em이 커넥션 획득하는 시점 - > 보통 트랜잭션을 시작할 때

     

     emf를 생성할 뗴 커넥션풀을 만든다 이 커넥션풀은 J2SE환경에서 사용하는 방법 

     JPA를 J2EE 환경(스프링 프레임워크 포함)에서 사용하면 해당 컨테이너가 제공하는 데이터 소스를 사용한다. 

     

    3. 영속성 컨텍스트

    • JPA를 이해하는데 가장 중요한 용어

    • “엔티티를 영구 저장하는 환경”이라는 뜻

    • EntityManager.persist(entity);

    EM으로 ENTITY를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리 

     

    4.엔티티 매니저? 영속성 컨텍스트?

    • 영속성 컨텍스트는 논리적인 개념

    • 눈에 보이지 않는다.

    • 엔티티 매니저를 통해서 영속성 컨텍스트에 접근

    • 영속성 컨텍스트는 EM을 생성할 때 하나 만들어진다.

    • EM을 통해서 영속성 컨텍스트에 접근, 관리 할 수 있다.

    5,6 보기전 보조 설명(SE, EE, ME)

    * Java SE (Java platform Standard Edition, J2SE 업그레이드 버전)

    - 가장 널리 쓰이는 자바 핵심 라이브러리 및 API 집합체

    - 데스크톱, 서버, 임베디드시스템 등을 위한 표준 자바 플랫폼에서 사용

    (Java EE, ME 는 목적에 따라 SE를 기반으로 기존의 일부를 택하거나 추가하여 구성된 것)

    * Java EE (Java platform Enterprise Edition, J2EE 업그레이드 버전)

    - 서버 측 개발을 위한 플랫폼에서 사용

    - 응용 프로그램(ex. 웹 어플리케이션) 서버에서 장애 복구, 분산 멀티미디어, 다중 계층 등의 자바

    소프트웨어 기능을 제공 (응용 프로그램에서 큰 규모의 분산 시스템이 필요한 경우 사용)

    * Java ME (Java platform Micro Edition, J2ME 업그레이드 버전)

    - 임베디드 시스템 개발을 위한 플랫폼(모바일, PDA, 셋톱 박스 등) 에서 사용

    - 과거 Java SE 버전을 기반으로 하기 때문에 자바 1.5 부터 도입된 기능 중 일부(ex. generic)는 미포함

     

    [출처] Java SE, EE, ME 의 차이점은? |작성자 푸른인연

    5. J2SE 환경 

    매니저와 영속성 컨텍스트가 1:1)

    6. J2EE, 스프링 프레임워크 같은 컨테이너 환경

    (엔티티 매니저와 영속성 컨텍스트가 N:1)

    7. 엔티티의 생명주기

    엔티티의 생명주기

    • 비영속 (new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태

    비영속

    • 영속 (managed) 영속성 컨텍스트에 관리되는 상태

    - EX)엔티티 매니저를 통해서 엔티티를 영속성 컨텍스트에 저장

    영속

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

    • 삭제 (removed) 삭제된 상태

    준영속 & 삭제

     

    댓글

Designed by Tistory.