설정
구현 클래스
- 구현체를 따로 구현하지 않아도, 스프링이 인터페이스를 보고 spring data jpa가 구현 클래스를 만들어 주입한다.
분석
인터페이스 구성
- Spring Data JPA 부분은 MongoDB로 바꾸어도 Spring Data에서 공통적인 부분은 어떤 DB든 사용이 가능하다.
제네릭 타입
- T : 엔티티
- ID : 엔티티의 식별자 타입
- S : 엔티티와 그 자식 타입
주요 메서드
- save(S) : 새로운 엔티티는 저장, 이미 있는 엔티티는 병합
- delete(T) : 엔티티 하나를 삭제한다.
EntityManager.remove()
- findById(ID) : 엔티티 하나를 조회한다.
EntityManager.find()
- getOne(ID) : 엔티티를 프록시로 조회한다.
EntityManager.getReference()
- findAll() : 모든 엔티티를 조회한다. 정렬이나 페이징 조건을 파라미터로 제공한다.