728x90
JPA에서 가장 중요한 2가지
- 객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping)
- 영속성 컨텍스트
엔티티 매니저 팩토리와 엔티티 매니저
- 고객의 요청이 있을 때 엔티티 매니저 팩토리를 통해서 엔티티 매니저를 생성한다.
- 엔티티 매니저는 내부적으로 데이터베이스 커넥션을 사용해서 db를 사용함
영속성 컨텍스트
- JPA를 이해하는데 가장 중요한 용어
- 엔티티를 영구 저장하는 환경 이라는 뜻
- EntityManager.persist(entity);
엔티티 매니저? 영속성 컨텍스트?
- 영속성 컨텍스트는 논리적인 개념 - 눈에 보이지 않는다.
- 엔티티 매니저를 통해서 영속성 컨텍스트에 접근
- J2SE 환경 : 엔티티 매니저와 영속성 컨텍스트가 1:1
- J2EE, 스프링 프레임워크 같은 환경 : 엔티티 매니저와 영속성 컨텍스트가 N:1
엔티티의 생명주기
- 비영속(new / transient)
영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 - 영속(managed)
영속성 컨텍스트에 관리되는 상태 - 준영속(detached)
영속성 컨텍스트에 저장되었다가 분리된 상태 - 삭제(removed)
삭제된 상태
//객체를 생성한 상태(비영속)
Member member = new Member();
member.setId("member1");
member.setUsername("회원1");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
//객체를 저장한 상태(영속) db에 저장된 상태가 아님!!
em.persist(member);
728x90
'JPA' 카테고리의 다른 글
터미널로 h2 실행하기 (맥OS) (0) | 2023.02.24 |
---|---|
자바 ORM 표준 JPA 프로그래밍 - 기본편 OT (0) | 2023.01.29 |
댓글