Entity 생명주기
Entity 생명주기 예제로 이해하기
비영속(new/transient)
객체를 생성한 상태(entity manager에 넣기 전, 즉 비영속 상태)
Member member = new Member(); member.setId("member1"); member.setUsername("username");
영속(managed)
생성한 객체를 entity manager에 persist. 즉 객체를 저장
// 객체를 생성한 상태에서(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("username"); // 영속성 컨텍스트 접근은 entity manager를 통해 한다 EntityManager em = emf.createEntityManager(); // 데이터 변경은 tansaction안에서 일어난다. em.getTransaction().begin(); // 비영속 상태이던 객체를 저장, 즉 영속상태 em.persist(member);
- 참고로 persist(영속상태)가 된다고 해서 DB에 query가 날아가는것은 아니고, commit을 해야 DB로 query가 날아간다
비영속(detached)
Entity를 영속성 컨텍스트에서 분리
em.detach(member);
삭제(removed)
객체를 삭제
em.remove(member);
참조 : 김영한님 JPA 강의
Author And Source
이 문제에 관하여(Entity 생명주기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@xohoonx2/JPA-Entity-생명주기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)