회원 로그인 시 오류가 발생했다
오류 메시지의 내용은 '지정된 식별자가 있는 행이 두 개 이상 발견되었음' 으로 해석했는데 아무리 봐도 MEMBER 테이블에는 중복된 ID가 존재하지 않았다
또한 오류가 난 곳은 로그인시 SecurityLoginService
에서 memberid를 이용해서 DB에서 아이디, 암호, 권한을 꺼내오는 부분이었다
// DB에서 아이디를 이용해서 정보를 가져온다음
Member member = mRepository.findById(username).orElse(null);
작성한 코드를 확인을 해보니 MEMBER
와 ADDRESS
간 관계는 1:1 이었는데
DB에 한명의 회원에 여러개의 주소가 추가되어 있었다
JPA는 쿼리 메서드 실행시 해당 엔티티의 매핑관계를 확인한다고 한다
mRepository.findById
가 실행되며 ADDRESS
매핑관계와 일치하지 않는 데이터가 존재했기 때문에 생긴 오류였다
매핑관계와 일치하도록 데이터를 수정하자 오류가 해결이 되었다!
매핑관계에 맞도록 백엔드 로직을 작성하였는지,
매핑관계와 일치하도록 DB 데이터가 존재하는지 꼼꼼히 확인해야겠다