본문 바로가기

학습 기록/스프링 부트3 백엔드 개발자 되기[자바편]

[05장.3] 3. 엔티티 상태

엔티티는 4가지(비영속, 분리, 관리, 삭제) 상태

 

1. 엔티티를 처음 생성하면 영속성 컨텍스트와 관계없는 상태인 비영속성 상태

2. persist() 메서드를 통해 영속성 컨텍스트가 관리하는 관리 상태로 변환

3. detach() 메서드를 통해 영속성 컨텍스트가 관리하고 있지 않은 분리 상태로 변환

4. remove() 메서드를 통해 영속성 컨텍스트에서 삭제하는 삭제 상태로 변환

public class EntityManagerTest{
	@Autowired
    EntityManager em; // 엔티티 매니저 프록시 생성
    
    public void example(){
    	Member member = new Member(1L, "홍길동"); // 비영속성 상태
        
        em.persist(member); // 엔티티 관리
        
        em.detach(member); // 엔티티 분리
        
        em.remove(member) // 엔티티 삭제
    }
}