☕️자바 𝗝𝗔𝗩𝗔

[JPA] validMemberEmailDuplicate 문제점

비타민찌 2022. 9. 30. 22:27
728x90

다음 코드의 문제점

 

private void validMemberEmailDuplicate(String email) {
        if (memberRepository.existsByEmail(email))
            throw new MemberEmailDuplicateException("이미 사용중인 이메일 입니다.");
    }

동일한 맴버 아이디가 중복 가입이 될 수 있다.

 

was가 동시에 여러개 뜨는데(멀티스레드) 예를들어 "맴버A" 라는 사용자가 정말 동시에 DB insert를 하게 되면, 동시에 "맴버A"라는 회원이 두 명 가입된다. 이런 문제가 생길 때 최후의 방어를 위해 DB의 member email에 유니크 제약조건을 걸어야 한다.

728x90