Null체크 국밥부 장관 findById()와 existById()
둘의 차이점을 알아보고 어떤 상황에서 어떤 메소드가 적절한지, 성능이 좋은지 알아보자
findById() vs existById()
리턴 값
findById -> Entity 반환
existById -> boolean 반환
즉, 로직 간 엔티티 자체가 필요한 경우 findById()
존재 여부만 체크하면 된다 -> existById()
쿼리문
findById()

findById는 select쿼리를 날리는 것을 볼 수있다.
existById

existById는 count 쿼리를 날린다.
성능
count쿼리를 사용하게 되면 결국 총 몇건인지를 확인하기 위해 전체를 확인해야하기 때문에 성능 차이가 날 수 밖에 없지만,
JpaRepository의 메소드 쿼리에선 내부적으로 limit 1을 사용하고 있기 때문에 성능상 이슈가 없다.

'공부거리' 카테고리의 다른 글
JPA existById 메소드 쿼리에 limit 1이 적용되지 않는 현상 (0) | 2024.01.04 |
---|---|
기계적인 @NoArgsConstructor 대해 알아보자 (0) | 2024.01.04 |
java.util.Date VS java.time.LocalDate (0) | 2024.01.02 |
Null 체크 시, findById보단 existById 활용해보자. (0) | 2024.01.01 |
Dto<->Entity 변환 (0) | 2023.12.27 |