- JPA 핵심 정리 - EntityManager2023년 02월 22일
- starryeye
- 작성자
- 2023.02.22.:04
EntityManagerFactory
EntityManager를 생성해준다.
JPA를 동작시키기 위한 기반 객체와 JPA 구현체에 따라 DB 커넥션 풀도 생성한다.
EntityManagerFactory는 생성비용이 아주 크기 때문에
Application 전체에서 한번만 생성하고 공유해서 사용해야한다.
EntityManager
EntityManagerFactory에서 생성할 수 있다.
EntityManager를 통해서 엔티티를 DB에 CRUD 할 수 있다.
(쉽게 생각해서 가상의 DB라고 생각하자.)
내부에 DataSource(DB Connection)를 유지하면서 데이터베이스와 통신한다.
-> 따라서, 스레드간 공유는 하면 안된다.
Springboot 에서는..
위 두 객체를 그냥 의존성 주입 받고 쓰면 된다.
동시성 문제 안전 보장을 위해 @PersistenceContext 로 EntityManager를 주입 받던 것도..
최신 버전에 오면서 @Autowired 를 사용해도 동일하다.
(싱글톤 원본 객체 주입 대신, 프록시 객체를 주입하여 프록시 객체가 트랜잭션 별로 원본 객체에 라우팅)
'Spring > DB, Cache 연동' 카테고리의 다른 글
Spring 의 DB 연동 기술 히스토리 요약 (0) 2023.03.10 JPA 핵심 정리 - 모음 (0) 2023.02.22 JPA 핵심 정리 - Table 매핑 (0) 2023.02.22 JPA 핵심 정리 - 정의 (0) 2023.02.22 Spring Transaction 5 (0) 2022.09.28 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)