Hyunseok
현재 사이트는 2024년 11월 이후로 업데이트 되지 않습니다. 새 글은 블로그로 확인해주세요. 블로그로 이동
프로그래밍/팀프로젝트 [팀프로젝트 외전] JPA... delete, deleteById가 먹히질 않는다 !
2022. 10. 8. 21:56

현재 사이트는 2024년 11월 이후로 업데이트 되지 않습니다. 새 글은 블로그로 확인해주세요. 블로그로 이동

팀 프로젝트 마지막주차.. 이제 다 만들어 놓은 기능들을 테스트해보며 버그를 잡고 있었다..

 

평일 학원 시간에 거의 다 잡아놓고.. 이제 끝까지 안 고쳐지는 버그들을 주말에 고치려고 놔두려 했다.. 

 

그 와중에 남은 게 하나, 이미지를 삭제하는 것이다 

 

 

상황은

 

OneToMany <>ManyToOne으로 묶인

유저 프로필 이미지와 유저 정보가 있고

 

유저 프로필 이미지를 지우려고 냅다 userImageRepository.delete(entity)를 치고 실행하니.. 지워지지가 않았다 

 

구글을 통해 여러 가지 글을 읽었는데 결국 해결을 해냈다 

 

간단히 생각하면.. 이미지 자체를 지워도 유저 정보에는 아직 oneToMany로 묶여있는 이미지가 남아있기 때문에..

 

이놈을 지우고 이미지를 지워야 한다는 것이다..

 

간단하게 delete 구문 위에 한 줄을 추가해줬다

 

userRepository.findById(entity.get().getUserinfo().getUserid).get().getUserImage().removeIf(isimg->{return isimg.getUserinfo().getUserid().equals(entity.getUserInfo().getUserid());});

 

설명하자면 그냥 유저에 있는 이미지를 엔티티를 삭제해주고 그다음 이미지를 지우는 것이다 

 

이러니 바로 지워진다.. (아니 나의 한 시간은 어디로;;)

 

여하튼 문제 해결했고.. 혹시 나중에 까먹을까 봐 블로그에 적어둔다


프로그래밍/팀프로젝트의 다른 글