Reference. 자바 ORM 표준 JPA 프로그래밍
책 목차 및 이전 글
더보기
- 비영속(new/transient): 영속성 컨텍스트와 전혀 관계가 없는 상태
- 영속(managed): 영속성 컨텍스트에 저장된 상태
- 준영속(detached): 영속성 컨텍스트에 저장되었다가 분리된 상태
- 삭제(removed): 삭제된 상태
비영속
- 엔티티 객체를 생성
- 순수한 객체 상태이며, 아직 저장되지 않은 상태
- 영속성 컨텍스트나 데이터베이스와 전혀 관련이 없음
//객체를 생성한 상태(비영속)
Member member = new Member();
member.setId("member1");
member.setUserName("회원1");
영속
- 엔티티 매니저를 통해 엔티티를 역속성 컨텍스트에 저장 (조회, 등록, 수정, 삭제)
- 영속성 컨텍스트가 관리하는 엔티티를 영속 상태
//객체를 저장한 상태(영속)
em.persist(member);
준영속
- 영속 상태의 엔티티를 영속성 컨텍스트가 관리하지 않으면 준영속 상태로 변환
- 특정 엔티티를 준영속 상태로 바꾸는 메소드
em.datach()
em.close()
,em.clear()
를 통해 영속성 컨텍스트를 닫거나, 초기화해도 준영속 상태 변환
//회원 엔티티를 영속성 컨텍스트에서 분리, 준영속 상태
em.detach(member);
삭제
- 엔티티를 영속성 컨텍스트와 데이터베이스에서 삭제
//객체를 삭제한 상태(삭제)
em.remove(member);
이미지 출처: https://ultrakain.gitbooks.io/jpa/content/chapter3/chapter3.4.html
'개발서적 > 자바 ORM 표준 JPA' 카테고리의 다른 글
[자바 ORM 표준 JPA 프로그래밍] 3.5 플러시 (0) | 2021.07.28 |
---|---|
[자바 ORM 표준 JPA 프로그래밍] 3.4 영속성 컨텍스트의 특징 (0) | 2021.07.28 |
[자바 ORM 표준 JPA 프로그래밍] 3.2 영속성 컨텍스트란? (0) | 2021.07.28 |
[자바 ORM 표준 JPA 프로그래밍] 3.1 엔티티 매니저 팩토리와 엔티티 매니저 (0) | 2021.07.28 |
[자바 ORM 표준 JPA 프로그래밍] 2. JPA 시작 (0) | 2021.07.23 |