티스토리 뷰

 

준영속 상태

- 영속 -> 준영속

- 영속 상태의 엔티티가 영속성 컨텍스트에서 분리(detached)

- 영속성 컨텍스트가 제공하는 기능을 사용 못함

 

            Member member = entityManager.find(Member.class, 150L);
            member.setName("adfadaf");

            entityManager.detach(member); //영속성 컨텐츠에서 제외 시켜버린다. 그러므로 커밋시점에 아무 일도 일어나지 않는다.


            ts.commit();

 

이렇게 사용하면 detach에서 영속 컨텍스트에서 제외시켜버린다. 영속 상태였다가 영속 상태에서 빠지면 준영속 상태라 말한다.

 

- em.detach(entity) : 특정 엔티티만 준영속 상태로 전환

- em.clear() : 영속성 컨텍스트를 완전히 초기화

- em.close() : 영속성 컨텍스트를 종료

 

            Member member = entityManager.find(Member.class, 150L);
            member.setName("dddd");

            entityManager.clear();

            Member member2 = entityManager.find(Member.class, 150L); // 새로 불러오게 된다.

            ts.commit();

 

 

clear() 시에도 당연히 안되며 새로 불러오면 db에서 새로 땡겨온다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함