JPA save() vs saveAndFlush() 동작원리
2025-07-02save() vs saveAndFlush() 차이점항목save()saveAndFlush()기능엔티티를 영속성 컨텍스트(Persistence Context)에 저장엔티티 저장 + flush()를 즉시 호출DB 반영 시점flush 시점 (트랜잭션 커밋 or 명시적 flush 시)즉시 flush → DB에 SQL 실행트랜잭션 내에서 커밋 전까지 DB에서 조회 불가✅ 가능❌ flush로 DB에 즉시 반영됨성능일반적으로 더 효율적 (버퍼링)성능 비용 있음 (즉시 DB IO)주 용도일반적인 CRUD 처리DB에 즉시 반영해야 할 때 (예: ID, 제약조건 확인 등)왜 둘 다 존재하는가?save()는 일반적인 "지연 쓰기" 전략에 최적화되어 있어 성능이 좋음.하지만 실무에서는 다음과 같은 즉시 DB ..