본문 바로가기

Java/JPA

[JPA] findById, existsById, getById

 

 

* findById(id)

id에 해당하는 엔티티를 반환 (Optional<T>)

해당하는 엔티티가 없는경우 'Optional.empty()' 반환

 

 

* existsById(id)

id에 해당하는 엔티티의 존재여부 반환 (boolean) 

해당하는 엔티티가 있다면 첫번재 결과에서 바로 true를 리턴. (아래처럼 최적화된 select 쿼리 실행) 

Hibernate: 
    select
        id
    from
        table 
    where
        id=? 
    limit 1

 

 

* getById(id)

id에 해당하는 엔티티를 반환 (엔티티가 반드시 존재한다고 가정 )

해당하는 엔티티가 없는 경우 'javax.persistence.EntityNotFoundException' 예외.