[TIL] 23.02.01 [SpringData]

조성현·2023년 2월 2일
0

오늘의 Ref

[1. Basic 인증과 Bearer 인증의 모든 것 - tosspayments]
[2. ㄷㄷㄷ: Domain Driven Design - 카카오]
[3. [10분 테코톡] '동시성문제' 멀티스레드와 동기화 In Java]

Today I Learned

  • SpringData 구조와 기능및 JpaRepository 원리

    구조 : [ Common, JPA, REST, MongoDB, Redis, KeyValue ]
    기능 : Repository 메서드명에서 동적쿼리 파생, 명료한 추적기능 등등등

    JpaRepository 원리 :
    1) 스프링데이터 Common :
    [ Repository -> CrudRepository -> PagingAndSoringRepository ]
    2) 스프링데이터 JPA :
    [JpaRepository -> SimpleJpaRepository]

    + + @RepositoryDefinition, @NoRepositoryBean을 통해 기능 제한하기
    - - Repository에 기능 추가하기(delete 쿼리가 바로 날아가도록, findAll이 이름만 가져오도록 )

  • JPA 페이징 심화
    • PagingAndSortingRepository 프로세스
    • 페이지 반환타입(Page<T>, Slice<T>, List<T>
    • List<T>가 필요하면 응답을 Page<T>로 받지말고 List<T> 로 받아라!
      -> 전체 count 쿼리가 추가로 발생하는 Page 보다는 List가 대용량 처리할때 더 안정적이고 빠르다!
    • PageDTOtoPageable() 메소드를 만들어서 페이지 -1문제를 해결하자
  • 쿼리와 QueryDSL
  • SpringData JPA와 친해지기 (Auditing, HATEOAS)
profile
맛있는 음식과 여행을 좋아하는 당당한 뚱땡이

0개의 댓글