-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
🏷️ 상위 작업 (Ticket Number)
PRODUCT-119
🚀 구현 내용
문제 상황
- memberId가 다르면서 phoneNumber나 nickname이 같은 변경 요청이 있을 경우, DB에 동일한 유저가 생길 가능성이 있음
@Transactional
public MemberResponse update(long memberId, MemberUpdateRequest request) {
Member member = memberRepository.getById(memberId);
validatePhoneNumberNotDuplicate(member, request.phoneNumber());
validateNicknameNotDuplicate(member, request.nickname());
Member memberUpdater = request.toMemberUpdater();
member.update(memberUpdater);
return new MemberResponse(member);
}개선 방향
- update 요청에 대한 트랜잭션 격리수준 or 락을 통한 개선
📅 마감일
No response