엔티티 매니저

  • JPA의 핵심 인터페이스
  • 자바 어플리케이션과 데이터베이스 간의 상호작용을 관리하는 역할

주요 기능

  • CRUD 작업 수행 (엔티티의 상태 변경)
    • persist : 새로운 엔티티를 영속성 컨텍스트에 등록하고 데이터베이스에 저장
    • find : 데이터베이스에서 특정 엔티티 검색
    • merge : 엔티티 객체의 변경 사항을 데이터베이스와 동기화
    • remove : 엔티티 삭제
  • 영속성 컨텍스트 관리
    • 영속성 컨텍스트를 통해 엔티티 객체의 상태를 추적하고 관리
    • 이를 통해 객체의 변경을 감지하고 데이터베이스와 동기화하는 역할 수행
  • 트랜잭션 관리
    • 데이터베이스 트랜잭션의 시작, 커밋, 롤백 등을 관리하여 무결성 보장
  • JPQL 쿼리 실행
    • Java Persistance Query Language를 사용하여 객체 지향 쿼리를 작성하고 실행할 수 있도록 지원
    •  JPQL이나 Native Query를 이용해 직접 DB로부터 데이터를 불러옴
  • 쓰기 지연 저장소에 있는 쿼리들을 flush하여 DB와 동기화

엔티티 매니저는 영속성 컨텍스트를 제어하는 도구이며, 영속성 컨텍스트는 엔티티의 상태를 관리하는 저장소

Ref.