CRUD를 원래 적성대로 직접 만들어보자.


update는 변경 감지 기능을 사용할거기 때문에 굳이 필요 없다.
보면 알겠지만 대체로 다 비슷하다. 그래서 이 중복을 줄이기 위해 많은 사람들이 시도해보고, 한 천재가 인터페이스로 만들어서 data jpa에서 같이 해보자고 해서 만든거다.


위가 직접 만든 클래스고 밑이 data jpa로 인터페이스로만 한건데 둘 다 잘 된다. 즉, 내가 직접 만든 기본적인 CRUD는 정의하지 않아도 이미 있다.
구현체는 만든 적 없고 인터페이스만 있는데도 되는 이유는 스프링이 인터페이스를 보고 자기가 프록시 클래스 구현체로 만들어 사용하기 때문. 그래서 주입해야 하는 거고.



실제 인터페이스 내용을 보면 함수들이 미리 정의되어 있다.


상속하는 JpaRepository는 특화 기능이고 더 공통 기능은 이게 상속하는 PagingAndSortingRepository. 이런식으로 공통일수록 더 부모에 있고 한다.

common은 어느 db든 공통으로 쓰일만한 것들이 구현되어 있고 각 db 특화는 data-jpa 안에.


스프링 데이터 JPA부터는 공통보단 조금 더 특화적인 것들이 들어있다.
'CS > 김영한 스프링 강의' 카테고리의 다른 글
실전! 스프링 데이터 JPA - 섹션5. 확장 기능 (1) | 2023.10.14 |
---|---|
실전! 스프링 데이터 JPA - 섹션4. 쿼리 메소드 기능 (1) | 2023.10.14 |
실전! 스프링 데이터 JPA - 섹션1. 프로젝트 환경설정 (0) | 2023.10.11 |
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 - 섹션5. API 개발 고급 - 실무 필수 최적화 (OSIV와 성능 최적화) (1) | 2023.10.08 |
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 - 섹션4. API 개발 고급 - 컬렉션 조회 최적화 (1) | 2023.10.07 |