[1. Basic 인증과 Bearer 인증의 모든 것 - tosspayments]
[2. ㄷㄷㄷ: Domain Driven Design - 카카오]
[3. [10분 테코톡] '동시성문제' 멀티스레드와 동기화 In Java]
구조 : [ Common, JPA, REST, MongoDB, Redis, KeyValue ]
기능 : Repository 메서드명에서 동적쿼리 파생, 명료한 추적기능 등등등JpaRepository 원리 :
1) 스프링데이터 Common :
[ Repository -> CrudRepository -> PagingAndSoringRepository ]
2) 스프링데이터 JPA :
[JpaRepository -> SimpleJpaRepository]
+ +
@RepositoryDefinition, @NoRepositoryBean을 통해 기능 제한하기
- -
Repository에 기능 추가하기(delete 쿼리가 바로 날아가도록, findAll이 이름만 가져오도록 )
- PagingAndSortingRepository 프로세스
- 페이지 반환타입(
Page<T>
,Slice<T>
,List<T>
List<T>가 필요하면 응답을 Page<T>로 받지말고 List<T> 로 받아라!
-> 전체 count 쿼리가 추가로 발생하는 Page 보다는 List가 대용량 처리할때 더 안정적이고 빠르다!PageDTO
와toPageable()
메소드를 만들어서페이지 -1
문제를 해결하자