Skip to content

Commit ca6260e

Browse files
committed
[fix] 회원 탈퇴 -> 유저 삭제시 Post 삭제 기준을 Route기반으로 변경해서 FK 오류 해결
1 parent f135fef commit ca6260e

File tree

4 files changed

+17
-1
lines changed

4 files changed

+17
-1
lines changed

src/main/java/org/sopt/pawkey/backendapi/domain/post/domain/repository/PostRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ public interface PostRepository {
2727
List<PostEntity> findAllByRouteIds(List<Long> routeIds);
2828

2929
void deleteByUserId(Long userId);
30+
31+
void deleteByRouteUserId(Long userId);
3032
}

src/main/java/org/sopt/pawkey/backendapi/domain/post/infra/persistence/repository/PostRepositoryImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,9 @@ public void deleteByUserId(Long userId) {
6969
jpaRepository.deleteByUser_UserId(userId);
7070
}
7171

72+
@Override
73+
public void deleteByRouteUserId(Long userId) {
74+
jpaRepository.deleteByRouteUserId(userId);
75+
}
76+
7277
}

src/main/java/org/sopt/pawkey/backendapi/domain/post/infra/persistence/repository/SpringDataPostRepository.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,13 @@ public interface SpringDataPostRepository extends JpaRepository<PostEntity, Long
6666

6767
@Modifying(clearAutomatically = true)
6868
void deleteByUser_UserId(Long userId);
69+
70+
@Modifying
71+
@Query("""
72+
delete from PostEntity p
73+
where p.route.user.userId = :userId
74+
""")
75+
void deleteByRouteUserId(Long userId);
76+
77+
6978
}

src/main/java/org/sopt/pawkey/backendapi/domain/user/application/service/UserDeletionService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public void deleteUser(Long userId) {
3434

3535

3636
//연관 테이블 삭제
37-
postRepository.deleteByUserId(userId);
37+
postRepository.deleteByRouteUserId(userId);
3838
routeRepository.deleteByUserId(userId); //post와 route는 cascade설정시, 대량 Lazy Loading이 발생할 수 있어서, service단에서 처리(나머지 pet,review,postlike연관관계는 userEntity에서 casecade로 처리합니다)
3939

4040

0 commit comments

Comments
 (0)