[Make 5] JPA find 메소드 리턴값 에러

HyeonJeong·2023년 1월 9일
0

오류 발생 상황

엔티티매니저를 통해서 DB의 내용을 가져오는 findAll(), findById() 등 find 메소드는 반환 값을 특정 엔티티로 표현하면, 해당 값이 없는 경우에는 null을 반환하여 오류가 발생하게 됩니다.


해결 방안

  1. 해당 내용을 Optional로 받아오는 방식을 이용
  2. List로 받아서 isEmpty()를 통해서 null은 다르게 처리

위 방식 중에 2번째 방식을 선택해서 진행하였습니다!

// 정보 저장
  public void kakaoinsert(KakaoDTO userInfo) {
      Member member = Member.builder()
              .id(userInfo.getId()).name(userInfo.getName()).email(userInfo.getEmail())
              .build();

      // id가 저장되지 않은 경우만
      List<Member> members = findById(userInfo.getId());
      if (members.isEmpty()) {
          save(member);
      }
  }

0개의 댓글