목차들어가며 1. 증상 — 반쪽만 저장된 데이터2. 코드를 다 뒤졌는데 아무 문제가 없었습니다3. 용의자는 코드가 아니라 실행 환경이었습니다4. 스레드가 들고 있는 것 — 그림 두 장으로 보는 차이5. 왜 로그 한 줄 안 남았을까 — 침묵의 메커니즘6. 추측을 멈추고 자를 만들었습니다7. 실측 — 같은 WAR, 옵션 하나만 토글8. 잔재 지도 — 어디서 터졌느냐에 따라 남는 게 달랐습니다9. 수정은 한 줄이었습니다10. 고치고 나니 새로 생긴 걱정들11. 남은 이야기와 배운 것들어가며@Transactional은 개발하면서 가장 의심을 안 하게 되는 어노테이션 중 하나입니다. 붙여두면 예외가 났을 때 알아서 되돌려주니까요. 저도 그렇게 믿고 몇 년을 살았습니다.그런데 운영에서 이런 데이터가 나오기 시작했습..