최범균 님의 <jpa 기초> 강의를 참고 하였습니다.
entityManager가 jpa에 있어서 핵심과 같은 역할을 한다.
영속성 처리, db연동, transaction까지 다 entityManager를 통해서 관리가 된다.
위처럼 persist 메소드를 호출한 다음 commit 이전에 쿼리가 실행되는 것을 볼 수 있다.
EntityManager 단위로 영속 컨텍스를 관리한다.
db에서 읽어온 객체, entityMnager에서 읽어온 매핑된 객체들을 보관하고 있다가 commit시점에 context에 있는 객체와 응용 프로그램에 저장되어 있는 객체 사이에 변경 내역이 존재한다면 db에 변경 사항을 반영해준다. (변경 쿼리 실행)
이러한 영속 컨텍스트 덕분에 우리가 직접 코드를 작성하지 않아도 알아서 DB에 변경 사항이 저장되는 것이다.
잘못된 부분이 있다면 언제든지 지적해주세요!