Skip to content

fix: 카테고리 순서 변경 시 flush 추가로 유니크 제약 충돌 해결#78

Merged
ramen0519 merged 1 commit intodevelopfrom
refactor/category-order-flush
Feb 10, 2026
Merged

fix: 카테고리 순서 변경 시 flush 추가로 유니크 제약 충돌 해결#78
ramen0519 merged 1 commit intodevelopfrom
refactor/category-order-flush

Conversation

@ramen0519
Copy link
Copy Markdown
Contributor

@ramen0519 ramen0519 commented Feb 10, 2026

📍 PR 타입 (하나 이상 선택)

  • 기능 추가
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트
  • 기타 사소한 수정

❗️ 관련 이슈 링크

📌 개요

카테고리 순서 변경 API 두 번째 요청 시 500 에러 발생하는 버그 수정

🔁 변경 사항

카테고리 순서 변경 시 기존 데이터 삭제 후 flush() 추가
JPA 쿼리 실행 순서 문제로 인한 유니크 제약 충돌 해결

📸 스크린샷

👀 기타 더 이야기해볼 점

✅ 체크 리스트

  • PR 템플릿에 맞추어 작성했어요.
  • 변경 내용에 대한 테스트를 진행했어요.
  • 프로그램이 정상적으로 동작해요.
  • PR에 적절한 라벨을 선택했어요.
  • 불필요한 코드는 삭제했어요.

Summary by CodeRabbit

  • 버그 수정
    • 카테고리 순서 업데이트 시 데이터 안정성 개선

@ramen0519 ramen0519 merged commit eb726f9 into develop Feb 10, 2026
2 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 10, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

카테고리 순서 업데이트 메서드에서 기존 사용자 주문을 삭제한 후 새로운 주문 항목을 삽입하기 전에 flush() 호출을 추가하여 삭제 작업이 데이터베이스에 확실히 반영되도록 보장합니다.

Changes

Cohort / File(s) Summary
CategoryService 트랜잭션 처리 개선
src/main/java/com/finsight/finsight/domain/category/domain/service/CategoryService.java
updateCategoryOrder 메서드에서 기존 카테고리 순서 삭제 후 flush() 호출 추가. 삭제 작업을 즉시 데이터베이스에 반영하여 새로운 순서 데이터 삽입 전 일관성 보장.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~7 minutes


💡 검토 포인트

좋은 점:

  • 명확한 의도의 변경으로, 중복 키(unique constraint) 위반이나 데이터 일관성 문제를 사전에 방지하는 좋은 접근입니다. 실무에서 자주 마주치는 문제를 정확하게 잡아냈네요.

확인 필요 사항:

  • flush()는 데이터베이스와의 동기화를 강제하므로, 대량의 카테고리 순서 업데이트 시 성능에 미치는 영향을 검토하면 좋습니다
  • 트랜잭션 경계와 롤백 시나리오가 제대로 처리되는지 확인해주세요 (예: 삭제 후 flush는 성공했는데 insert에서 실패할 경우)
  • 기존 테스트 케이스에서 동시성 관련 테스트가 있다면 함께 검토하기를 권장합니다
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/category-order-flush

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant