[Spring] findById와 getReferenceById의 차이

공부기록·2023년 11월 29일
0
post-thumbnail

findById


Optional<T> findById(Long id);

가져온 엔티티를 Optional타입에 둘러싸여져 반환되고, 해당 데이터가 없으면 Null을 반환한다.
그냥 Null을 반환하기 때문에 따로 exception이 발생하지않고 사용자 지정 예외처리가 가능해진다.

Member Entity가 존재하고 name값을 가진다고 가정

  • 만약 이름을 가지고 객체를 가져오려하면 findByName을 MemberRepository에 정의 가능
  • 그때 return type을 Optional<Member>로 설정해야 .orElseThrow라는 예외처리가 가능하다.
  • 또한 사용시 findByName이용시 .orElseThrow를 사용하지 않으면 반환 값이 Optional<Member>가 되어 객체 생성시 불편하다.



getReferenceById


T getReferenceById(Long ind);
  • 해당 엔티티의 타입을 반환하고 없으면 exception 발생한다.

0개의 댓글

관련 채용 정보