-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
리팩토링 하는 이유
전화번호부 관련 sql문 실행시 User를 찾아서, User와 해당 전화번호에 맞는 사용자의 번호를 찾아서 메서드를 실행합니다. 이렇게 User를 찾는 파트가 중복되므로, 이 중복을 join이나 jpql문을 통해서 제거할수 있을 것이라고 판단하였고, 이를 최적화하고자 합니다.
작업 상세 내용
-
saveUserPhoneBooks최적화 -
updatePhoneBook최적화 -
deleteContactInPhoneNumber최적화 -
findPhoneBook최적화 -
getUserInPhoneBookAndSetOff최적화
getUserInPhoneBookAndSetOff는 아래와 같이 phoneBooks를 response로 반환하므로, update를 사용하지 않는다.
public List<ResponseUserDTO> getUserInPhoneBookAndSetOff(String phoneNumberInPhoneBook, Long userId){
List<PhoneBook> phoneBooks = phoneBookRepository.findByPhoneNumberAndUserId(phoneNumberInPhoneBook, userId)
.orElseThrow(PhoneBookNotfoundException::new);
phoneBooks.forEach(phoneBook -> phoneBook.setCurtainCallOnAndOff(false));
phoneBookRepository.saveAll(phoneBooks);
return getResponseUserDTOSWithSetOff(phoneBooks);
}-
getPhoneBookWithSetAllOff최적화
-> 이것도 위와 동일 -
setAllOnPhoneBook최적화
Reactions are currently unavailable