JPA의 준영속상태
- 영속 상태의 엔티티가 영속성 컨텍스트에서 분리
- 영속성 컨텍스트가 제공하는 기능을 사용 못함 (darty checking같은 기능들)
// find로 엔티티를 찾아오는 순간 영속화 된다
Member member = em.find(Member.class, 150L);
member.setName("AAAAAA");
// detach를 사용해 준영속화 시켜 컨텍스트에서 제외한다
em.detach(member);
System.out.println("============================");
tx.commit();
위 코드에서는 select 퀴리만 생성되고 update 쿼리는 생성되지 않는다.
// find로 엔티티를 찾아오는 순간 영속화 된다
Member member = em.find(Member.class, 150L);
member.setName("AAAAAA");
em.clear()
Member member2 = em.find(Member.class, 150L);
System.out.println("============================");
tx.commit();
clear로 컨텍스트를 싹 날려버리면 member 엔티티가 준 영속화 되고 컨텍스트에 남아있는 memberEntity가 없음으로 다시 한번 select 문을 날리게 된다
당장은 사용할 일이 없고 나중에 개발을 하다보면 준영속화의 필요성을 느끼게 된다고 한다.
'코딩딩 > Spring' 카테고리의 다른 글
연관관계 매핑 기초 (1) | 2023.11.03 |
---|---|
객체와 테이블 매핑 (1) | 2023.10.31 |
Spring 기초 2 (0) | 2023.09.19 |
Spring 기초 (0) | 2023.09.16 |
JDBC (1) | 2023.09.08 |