[JPA] 영속성 이해하기
2023. 7. 12. 20:34
프로그래밍/JPA
JPA의 영속성이란? 객체의 상태를 지속적으로 유지하는 기능을 의미 영속성은 객체를 관계형 DB와 연결하여 객체의 상태 변경을 DB에 자동으로 반영하고, DB의 변경을 객체에 자동으로 반영하는 기능을 제공 JPA의 영속성을 이해하기 위한 주요 개념 1. 엔티티(Entity) JPA에서 관리되는 객체로, DB 테이블과 매핑되는 클래스 영속성 컨텍스트에서 관리하는 대상 2. 엔티티 매니저(Entity Manager) JPA에서 엔티티를 관리하는 주체로 DB와의 통신을 담당 영속성 컨텍스트를 생성하고, 엔티티의 생명주기를 관리 3. 영속성 컨텍스트(Persistence Context) 엔티티의 상태를 관리하는 논리적인 영역 엔티티의 변경을 추적하고, 변경 내용을 DB에 동기화 예시 - User 엔티티 @Ent..
[JPA] JPA란?
2022. 9. 28. 20:21
프로그래밍/JPA
JPA란? Java Persistence API의 약자로 자바의 ORM(Object Realational Mapping) 표준 스펙을 정의 JPA의 스펙은 자바의 객체와 데이터베이스를 어떻게 매핑하고 동작해야 하는지를 정의하고 있음 하이버네이트(Hibernate) ORM Framework 중 하나로 'JPA 프로바이더'라고도 부름 JPA의 실제 구현체 중 하나이며, 현재 JPA 구현체 중 가장 많이 사용됨 영속성 컨텍스트(Persistence Context) 영속성 컨텍스트는 JPA가 관리하는 엔티티 객체의 집합 엔티티 객체가 영속 컨텍스트에 들어오게 되면 JPA는 엔티티 객체의 매핑 정보를 가지고 DB에 반영함 엔티티 객체가 영속 컨텍스트에 들어오게 되어 관리 대상이 되면 그 객체를 영속 객체라고 부름..