java

[Spring] CrudRepository

처누 2024. 3. 25. 15:34

 JPA를 공부하다가 JpaRepository가 CrudRepository를 상속 받는 것을 발견하고 어? CRUD? 이건 못참지! 하고서 CrudRepository에 정의된 메서드를 살펴보려고 한다.

 

  • <S extends T> S save(S entity);
    • 주어진 entity를 저장한다.
    • 저장된 entity를 반환한다.
    • 인자와 반환되는 entity는 null이 아니어야 한다. null이라면 IllegalArgumentException을 던짐
    • 더보기
      CrudRepository 인터페이스 내 save 메서드
  • <S extends T> Iterable<S> saveAll(Iterable <S>  entities);
    • 주어진 모든 entity를 저장한다
    • 저장된 모든 entity를 반환한다.
    • 더보기
      CrudRepository 인터페이스 내 saveAll 메서드
  • Optional<T> findById(ID id);
    • 주어진 id로 entity를 반환한다. 만약 null이라면 Optional#empty() 반환
    • 더보기
      CrudRepository 인터페이스 내 findById 메서드
  • boolean existsById(ID id);
    • 주어진 id를 가진 entity가 존재하는지 true/false로 반환
    • 더보기
      CrudRepository 인터페이스 내 existsById 메서드
  • Iterable<T> findAll();
    • 모든 타입의 인스턴스를 반환
    • 더보기
      CrudRepository 인터페이스 내 findAll 메서드
  • Iterable<T> findAllById(Iterable<ID> ids); 
    • 주어진 id에 해당하는 타입의 인스턴스를 반환
    • 반환되는 요소들의 순서는 보장되지 않음
    • 더보기
      CrudRepository 인터페이스 내 findAllById 메서드
  • long count();
    • 사용가능한 엔티티의 수를 반환한다.
    • 더보기
      CrudRepository 인터페이스 내 count 메서드
  • void deleteById(ID id); 
    • 주어진 id를 가진 entity를 삭제함
    • 더보기
      CrudRepository 인터페이스 내 deleteById 메서드
  • void delete(T entity);
    • 주어진 entity를 삭제한다
    • 더보기
      CrudRepository 인터페이스 내 delete 메서드
  • void deleteAllById(Iterable<? extends ID> ids);
    • 주어진 id들을 가진 모든 엔티티를 삭제
    • 더보기
      CrudRepository 인터페이스 내 deleteAllById 메서드
  • void deleteAll(Iterable<? extends T> entities);
    • 주어진 엔티티들을 삭제
    • 더보기
      CrudRepository 인터페이스 내 deleteAll 메서드
  • void deleteAll();
    • 레포지토리에 저장된 모든 엔티티 삭제
    • 더보기
      CrudRepository 인터페이스 내 deleteAll 메서드