ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엔티티의 생명주기
    개발/java 2015. 12. 28. 15:23

    1. 비영속 

    @Entity 상태의 객체를

    Member member = new Member(); 로 생성후

    member.setId("momo")

    member.setAge(24)

    로 수정한다고 하여도 아직 컨텍스트에 포함되지않은 비영속 상태이다


    2. 영속


    위에 member 엔티티가 영속상태(영속성컨텍스트가 관리하는 엔티티)로 만드려면

    엔티티 매니저를 통해서 영속화 시켜야한다.

    ex 1 ) em.persist(member)

    ex 2 ) em.find(Member.class,member.getId())


    3. 준영속


    준영속 상태는 영속성 컨텍스트가 관리하던 영속상태의 엔티티를

    영속성컨텍스트가 관리하지 않을시 준영속으로 변경시 준영속상태가됨


    ex 1 ) em.detach(member) //하나의 엔티티를 준영속으로 변경하기

    ex 2 ) em.close() ,   em.clear() // 엔티티 매니저가 가지고있는 전체 준영속으로 변경


    준영속상태는 Member member2 = em.merge(member);

    상태로 영속상태로 만들수있다. 

    준영속 객체이외의 일반 비영속 객체도 merge를 통해 영속상태로 만들수있다


    4. 삭제


    엔티티를 영속성 컨텍스트와 데이터베이스에서 삭제

    em.remove(member) ;

    '개발 > java' 카테고리의 다른 글

    JPA 기본키 저장  (0) 2015.12.28
    JPA update 변경감지  (0) 2015.12.28
    EntityManagerFactory와 EntityManager 의 사용  (0) 2015.12.28
    JPA 에서 글등록 및 수정 삭제 간단예제  (0) 2015.12.28
    SPRING에서 BindingResult 사용하기  (0) 2015.12.22
Designed by Tistory.