[Spring Boot] 영속성 컨텍스트 2 (엔티티 생명주기)

PersesTitan·2022년 6월 6일
0

Spring

목록 보기
4/48
post-thumbnail

엔티티 생명주기

1. 비영속 상태

새로 생성되상태이며, 아무곳에도 영속되지않는 상태

Member member = new Member(...);

2. 영속 상태

엔티티메니저를 통해 member를 영속성 컨텍스트 관리

Member member = new Member(...);
EntityManager em;
em.persist(member);

3. 준영속 상태

더 이상 영속 상태의 엔티티를 관리하지 않는다는 뜻이다.

Member member = new Member(...);
EntityManager em;
em.detach(member);

//이렇게하면 em의 모든 엔티티가 준영속상태가 된다 (아마도?)
//em.clear(); 영속성 콘텍스트 비우기
//em.close(); 영속성 콘텍스트 종료

4. 삭제 상태

실제로 DB에 삭제된 상태

Member member = new Member(...);
EntityManager em;
em.remove(member);

상태 정리

private final EntityManager em;

public void practice() {
	//비영속성 상태
    Member member = new Member(...);
    //영속 상태
    em.persist(member);
	//준영속 상태
    em.detach(member);
    //삭재 상태
	em.remove(member);
}
profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글