Git :)

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 5. 스프링부트 퀵 스타트
    IT 서적/스프링부트 퀵 스타트 2023. 10. 22. 16:47

    JPA의 API 이해 : EntityManagerFactory와 EntityManager

    EntityManager 객체
    • JPA를 이용하여 CRUD 기능을 처리하려면 EntityManager 객체를 사용해야한다.
    • 이 EntityManager는 EntityManagerFactory로부터 얻을 수 있다.
    • 다음 그림은 EntityManager 객체를 얻기까지의 과정이다.

    • Persistence 객체를 이용하여 persistence.xml에 명시된 JPA 메인 환경설정에 대한 정보를 가져온다.
    • 영속성 유닛 설정 정보를 바탕으로 EntityManagerFactory 객체를 생성한다.
      EntityManagerFactory로부터 EntityManager를 얻어서 데이터베이스 연동을 처리한다.
    • 다음은 EntityManager가 제공하는 CRUD 기능의 메소드다.
    JPA를 이용한 CRUD
    • 영속성 컨텍스트의 데이터 저장 과정
    • 위와같은 구조를 가짐으로써 한 번의 데이터베이스 통신으로 SQL 구문을 한꺼번에 처리할 수 있고 결과적으로 성능을 최적화할 수 있다.
    스냅샷이란?
    • JPA는 검색된 엔티티를 영속성 컨텍스트에 저장할 때, 엔티티의 복사본을 만들어서 별도의 컬렉션에 저장하는데 이 저장 공간을 스냅샷이라고 한다.
    목록검색과 JPQL
    • JPA를 활용하여 목록을 조회하기 위해서는 JPQL(Java Persistence Query Language)이라는 것을 활용해야한다.
    • JPQL은 SQL과 거의 유사한 문법을 사용하므로 해석하는데 특별한 어려움은 없지만 검색 대상이 테이블이 아니라 엔티티라는 점이 중요하다.