문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
wiki:spring:jpa:querydsl [2022/09/28 21:14] dhan |
wiki:spring:jpa:querydsl [2023/01/26 10:26] (현재) dhan |
||
---|---|---|---|
줄 8: | 줄 8: | ||
===== Intro ===== | ===== Intro ===== | ||
+ | |||
+ | |||
===== Case Study ===== | ===== Case Study ===== | ||
Spring Boot QueryDSL 사용 | Spring Boot QueryDSL 사용 | ||
- | + | ||
+ | * [[https:// | ||
===== Term ===== | ===== Term ===== | ||
줄 81: | 줄 84: | ||
DB의 테스트 데이터가 중요한 이유는 데이터 변경이 있을 경우 | DB의 테스트 데이터가 중요한 이유는 데이터 변경이 있을 경우 | ||
테스트가 모두 깨지기 때문이다. | 테스트가 모두 깨지기 때문이다. | ||
+ | | ||
</ | </ | ||
스프링 데이터 JPA 활용 | 스프링 데이터 JPA 활용 | ||
< | < | ||
+ | 페이징은 제로 인덱스(0부터 시작) | ||
+ | |||
+ | QuerydslPredicateExecutor(서비스) | ||
+ | 스프링 데이터 JPA가 제공하는 Querydsl 기능은 실무 환경에서는 다소 사용하기 부족(제약사항이 있음) | ||
+ | 묵시적 조인은 가능하지만 left join이 블가능 | ||
+ | * 클라이언트 코드가 Querydsl에 의존적임(컨트롤러나 서비스에 Querydsl 코드가 있음) | ||
+ | |||
+ | Querydsl Web 지원(컨트롤러) | ||
+ | 웹 파라미터를 바로 Predicator로 지정 가능 | ||
+ | 하지만 복잡할 경우 QuerydslBinderCustomizer을 구현해야 됨 (가성비가 없음) | ||
+ | 또한 컨트롤러가 Querydsl에 의존함 | ||
+ | |||
+ | QuerydslRepositorySupport | ||
+ | 장점: 페이지 처리에 유용함 | ||
+ | EntityManager 제공 | ||
+ | 단점: Querydsl 3.x버전을 대상으로 만듦 | ||
+ | from 부터 해야 됨(select가 먼저 올 수 없음) | ||
+ | 소트는 오류가 발생할 수 있음. | ||
</ | </ | ||
+ | |||
+ | Querydsl 지원 클래스(유틸) 만들기 | ||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
* [[https:// | * [[https:// |