- [JPA] 9. 엔티티 매니저와 영속성 컨텍스트2024년 09월 30일
- Song hyun
- 작성자
- 2024.09.30.:47
728x90반응형[JPA] 9. 엔티티 매니저와 영속성 컨텍스트
1. 엔티티 매니저란?
(1) 엔티티(Entity): 데이터베이스 테이블과 매핑되는 자바 클래스이다.
- 엔티티는 DB의 테이블과 매핑되는 자바 객체이다.
- 엔티티는 본질적으로 자바 객체이면서, 데이터베이스의 쿼리를 실행하여 CRUD 할 수 있다.
- => 이는 엔티티가 단순한 데이터 모델을 넘어, DB와의 상호작용에서 중요한 역할을 한다는 점에서 중요하다!
- => 엔티티는 DB의 레코드와 직접적으로 연결되어 있고, 이 클래스의 인스턴스는 DB의 행에 해당된다!
(2) 엔티티 매니저(Entity Manager): 엔티티의 생명 주기를 관리하고, CRUD 작업을 수행한다.
- 엔티티 매니저는 JPA의 핵심 인터페이스로, 엔티티의 생명주기를 관리하는 역할을 한다.
- 엔티티 매니저를 통해 DB에 대한 CRUD 작업을 할 수 있다.
- 엔티티 매니저는 persist,find,merge 등의 메서드를 제공해 엔티티 객체를 DB에 저장하거나 조회, 삭제할 수 있다.
- => 엔티티 매니저는 일반적으로 개발자가 직접 인스턴스화하지 않고, Springboot와 같은 프레임 워크에서 DI받아 사용한다!
* 엔티티 매니저의 동작 원리
-엔티티 매니저는 특정 영속성 컨텍스트(Persistence Context)와 연결되어 있고, 이 컨텍스트 내에서 엔티티 객체를 관리한다!
-영속성 컨텍스트는 엔티티 객체의 상태를 추적하고, 필요에 따라 DB와 동기화한다!(3) 엔티티 매니저 팩토리(Entity Manager Factory): 엔티티 매니저를 생성하는 팩토리로, 스프링 부트 애플리케이션에서 한 번만 생성된다.
- 엔티티 매니저 팩토리는 엔티티 매니저를 생성하는 책임을 가진 객체이다.
- 스프링부트 애플리케이션에서 엔티티 매니저를 필요로 할 때, 엔티티 매니저 팩토리가 이를 생성해 제공한다.
- 엔티티 매니저 팩토리는 애플리케이션에서 한 번만 생성되고, 이를 통해 여러 엔티티 매니저 인스턴스를 생성할 수 있다.
- => 이 팩토리는 DB와의 연결 정보를 가지고 있으며, 영속성 유닛(Persistence Unit)이라고 불리는 설정 단위를 기반으로 엔티티 매니저를 관리한다!
* 엔티티 매니저 팩토리의 동작 원리
-스프링부트는 애플리케이션이 시작될 때, 엔티티 매니저 팩토리를 자동으로 구성하고 필요한 영속성 유닛을 설정한다.
-이 과정에서 DB 연결 정보, 캐싱 설정, 트랜잭션 관리 등 다양한 설정이 적용된다.728x90반응형'JPA' 카테고리의 다른 글
[JPA] *Springboot Starter Project - 프로젝트 설정하기 (1) 2024.09.30 [JPA] 10. 영속성 컨텍스트 (0) 2024.09.30 [JPA] 8. JPA와 하이버네이트란? (0) 2024.09.30 [JPA] 7. 스프링 부트 DB 접근 기술 ORM (0) 2024.09.30 [JPA] 6. DELETE 방식의 이해 (0) 2024.09.27 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)