엔티티를 영구 정장하는 환경이라는 뜻이다.
애플리케이션과 DB 사이에서 객체를 보관하는 가상의 DB 역할을 한다.
EntityManager를 통해 엔티티를 저장하거나 조회하면
EntityManager는 영속성 컨텍스트에 엔티티를 보관한고 관리한다.
@Autowired
EntityManager em;
em.persist(entity);
엔티티 매니저를 사용해 영속성 컨텍스트에 저장.
영속상태의 엔티티가 영속성 컨텍스트에서 분리된 것
영속성 컨텍스트가 더는 관리하지 않는 엔티티
db에 한 번 갔다온 엔티티
이미 db에 한번 저장되어 식별자가 존재하는 경우.
이렇게 임의로 만들어낸 엔티티도
기존 식별자를 가지고 있으면 준영속 엔티티로 볼 수 있다.
jpa 가 식별 할 수 있는 id를 가지고있다

form을 통해 넘어온 데이터로 book을 생성한다.
form에서 getId()로 새로 만든 객체 book에 데이터를 넣는 과정인데,
이미 form으로 id가 세팅이 되어있다.
이미 jap에 한 번 저장되어 식별자가 존재한다.
준영속 상태 객체이기 때문에 아무리 값을 수정해도 db update가 일어나지 않는다.
영속성 컨텍스트에서 엔티티를 다시 조회한 후에 데이터를 수정하는 방법


merge()를 사용하면
넘겨진 값으로 모든 데이터를 다 바꿔치기 한다.
넘겨진 값이 영속성 상태를 가지는 것이 아니고
리턴 값이 영속성 상태를 가지게 됨