Entity Lifecycle

엔티티 상태는 관리 여부와 SQL 반영 가능성을 가른다

new, managed, detached, removed를 구분하면 왜 UPDATE가 나가거나 안 나가는지 설명할 수 있다.

1Transient아직 영속성 컨텍스트가 모르는 새 객체다.
2Managed1차 캐시가 추적하며 변경 감지 대상이다.
3Detached식별자는 있지만 현재 컨텍스트가 추적하지 않는다.
4Removed삭제 예약 상태로 flush 때 DELETE가 나간다.
merge는 detached 객체를 그대로 붙이는 것이 아니라 managed 복사본을 만든다.