• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

문제가 발생 할 수 있는 이유가 이해가 되지 않습니다.

23.01.09 14:32 작성 조회수 1.93k

0

private void validateDuplicateMember(Member member) {
    List<Member> findMembers =
            memberRepository.findByName(member.getName());
    if (!findMembers.isEmpty()){
        throw new IllegalStateException("이미 존재하는 회원 입니다.");
    }
}

에서 memberA가 동시에 DB에 insert 될때 validateduplicate를 통과하면 동시에 memberA가 로직을 호출하게 되면

memberA라는이름으로 두명이 가입 됩니다. 그래서 memberA에 제약을 건다구 하셨는데
제약을 거는거 어떤건지 잘 모르겠습니다.
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2023.01.11

안녕하세요. 황상익님, 공식 서포터즈 David입니다.

유니크 제약조건은 데이터베이스 컬럼에 추가하는 것이며 중복된 값이 존재하지 않도록 하기 위함입니다.

jpa에서 유니크 제약조건의 추가는 아래 글을 참고해 주세요.

https://www.baeldung.com/jpa-unique-constraints#2-defining-the-column-constraints

감사합니다.