Skip to content

fix: Inquiry.clearUser()가 탈퇴 시 실제로 데이터를 보존하는지 검증 필요 #410

Description

@pooreumjung

Fix Report

고쳐야 할 사항

  • UserService.withdraw()(src/main/java/ssu/eatssu/domain/user/service/UserService.java)는 탈퇴 처리 전 inquiry.clearUser()를 호출해 문의 이력을 보존하려는 의도로 보인다(Review::clearUser와 동일한 패턴). 그런데 User.userInquiriescascade = CascadeType.ALL(REMOVE 포함)로 선언되어 있어서(src/main/java/ssu/eatssu/domain/user/entity/User.java), User 삭제 시 컬렉션에 남아있는 Inquiry가 FK가 null이 되었는지와 무관하게 Hibernate에 의해 cascade 삭제될 가능성이 있다. Review는 cascade에 REMOVE가 없어 이 패턴이 의도대로 동작하지만, Inquiry는 그렇지 않을 수 있다. 실제 DB 동작을 테스트로 검증하고, 문의 이력을 정말 보존해야 한다면 cascade 설정을 REMOVE 없이 조정해야 한다.

첨부자료

  • 없음

Activity

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

Metadata

Metadata

Assignees

Labels

fix고치기

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions