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