6편에서는 Flush가“쓰기 SQL을 DB로 전송해 일관성을 맞추는 단계”라는 점을 정리했습니다.이번 글에서는 그 Flush 이후에 등장하는,영속성 컨텍스트와의 연결을 끊는 행위즉, detach, clear, merge가 왜 위험하고, 언제 필요한지를 공식 문서 관점에서 풀어보겠습니다.이 세 가지를 이해하지 못하면,왜 데이터가 사라진 것처럼 보이는지왜 UPDATE가 두 번 나가는지왜 운영에서 재현이 어려운 버그가 생기는지를 설명할 수 없습니다.1. 영속성 컨텍스트와 “연결”의 의미먼저 전제를 다시 짚어야 합니다.엔티티가 영속 상태라는 것은,Persistence Context가 해당 객체의 상태 변화를 추적하고 있다는 의미입니다.이 연결이 유지되는 한,Dirty CheckingFlush가 자동으로 작동합니..