영속성 컨텍스트란 "영구 저장 환경"
영속상태 em.persist 할 시 영속성컨텍스트에 저장
식별자 값은 데이터베이스 기본키와 매핑 함
영속 엔티티의 동일성을 보장
1차 캐시 를 함으로써 기존에 1차캐싱에 저장한 ex)..memeber user ? 등 조회했을때 같은 인스턴스 가됨
em.flush()
em.flush() 안할경우에
em.persist(user)등 하고 난후에 print를 찍어볼경우 값이 안들어가있는걸 확인할수있다.
더이상 엔티티가 영속성 컨텍스트에서 관리하지않을때
em.detach(user)
transaction.commit()이 일어나도 데이터베이스에 저장이 되지 않는다.
User user = new User() // 비영속상태
em.persist(user) //영속상태
em.detach(user)
em.remove(user)
Reference::
https://ultrakain.gitbooks.io/jpa/content/chapter3/chapter3.4.html