[Spring Data JPA] Repository 생성

2019. 10. 8. 00:43SPRING/Spring Data JPA

1. JPA Repository 생성

 

JPA를 사용하여 Repository를 만들 때는 JpaRepository<T, ID> 를 상속받는 Interface를 만들어 주기만 하면 된다.

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;

public interface SchoolRepository extends JpaRepository<School, Long> {
    
}

이렇게 인터페이스를 만들어주고, 주입만 해주면 기본적인 crud 기능을 모두 사용할 수있다.

@Autowired
SchoolRepository schoolRepository;

@GetMapping("/school-list")
public Page<School> schoolList() {
  Page<School> schools = schoolRepository.findAll(PageRequest.of(0, 10));
  return schools;
}

schoolRepository.save()

schoolRepository.delete()

schoolRepository.count()

등등 이 외 다양한 기본적인 메서드가 JpaRepository와, JpaRepository가 상속받는 인터페이스들에 이미 만들어져 있다.

 

 

 

2. JpaRepository와 PagingAndSortingRepository, CrudRepository

 

세 인터페이스의 상속 관계

 

세개의 인터페이스의 상속 관계는 그림과 같다.

CrudRepository가 조부모, PagingAndSortingRepository가 부모, JpaRepository가 자식의 관계이다.

우리가 만든 Repository는 JpaRepository를 상속받으며, 위 세개 인터페이스에 있는 메서드들을 모두 상속받게 된다.

'SPRING > Spring Data JPA' 카테고리의 다른 글

[Spring Data JPA] 프로젝트 세팅  (0) 2020.05.05
[Spring Data JPA] Cascade  (0) 2019.10.05
[Spring Data JPA] annotation(어노테이션)  (0) 2019.09.29