본문 바로가기
주절주절/정보

JPA 및 Spring Data JPA에서 find와 get 프리픽스

by 띵커베르 2024. 2. 11.
728x90

find 메서드
find 메서드는 데이터를 찾으려고 시도하지만, 해당 데이터가 없는 경우 null을 반환할 수 있습니다. 예를 들어, findById 메서드는 찾으려는 엔티티의 인스턴스가 존재하지 않을 때 null을 포함할 수 있는 Optional<T>를 반환합니다.


get 메서드
get 프리픽스를 사용하는 메서드는 데이터가 반드시 존재한다는 기대 하에 사용됩니다. 예를 들어, getOne 메서드는 실제 엔티티 대신 프록시를 반환하며, 해당 엔티티가 실제로 존재하지 않는 경우에 접근 시점에 EntityNotFoundException을 던집니다. 이는 get 메서드가 호출될 때 데이터가 반드시 존재해야 한다는 기대를 반영합니다. 그러나 이러한 메서드는 실제로 데이터에 접근하기 전까지는 존재 여부를 확인하지 않습니다.

 

예외
findById와 같은 find 메서드가 Optional<T>를 반환하는 것과 대비하여, get 메서드는 데이터가 없을 때 예외를 던지는 경우가 많습니다. Optional을 사용하는 경우, 데이터의 존재 여부를 명시적으로 검사할 수 있으며, 이는 null을 직접 다루는 것보다 안전한 방법을 제공합니다.

 

결론
find 메서드는 데이터가 존재하지 않을 수 있으며, 이 경우 null 또는 Optional.empty()를 반환할 수 있습니다.
get 메서드는 데이터가 반드시 존재한다고 가정하며, 그렇지 않은 경우 예외를 던질 수 있습니다.

728x90

'주절주절 > 정보' 카테고리의 다른 글

헥사고날 아키텍처  (0) 2024.02.12
from 메서드 to 메서드  (0) 2023.08.06
읽어보면 좋은 url 정리중..  (0) 2023.03.03
보면 정말 좋은 url 정리 중..  (0) 2023.03.01
터미널 명령어 적는중  (0) 2023.03.01

댓글