| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- java
- goorm
- mapping
- 오블완
- orm
- 기본형
- CodeCommit
- 티스토리챌린지
- jvm
- bootcamp
- Spring Boot
- aws
- data
- s3
- MSA
- Redis
- jpa
- spring
- Docker
- nosql
- backenddeveloper
- 자격증
- 개발자
- Cache
- goorm x kakao
- QueryDSL
- 자바
- serverless
- backend
- 스터디
- Today
- Total
목록SQL (2)
gony-dev 님의 블로그
지난 시간에는 querydsl을 이용하여 원하는 프로젝션 대상에 따라 결과를 효율적으로 반환하는 방법을 배웠다.이번에는 동적 쿼리와 성능 최적화를 통한 조회에 대해 배워보겠다. 순수 JPA 리포지토리와 QuerydslEntityManager와 Querydsl로 동일한 쿼리를 작성했을 때를 비교해보자!다음은 리스트 전체를 조회하는 "findAll()"과 username에 따른 결과를 조회하는 "findByUsername()"을 각각 순수 JPA와 Querydsl로 구현해놓은 것이다.public List findAll(){ return em.createQuery("select m from Member m", Member.class).getResultList();}public List findAll_Qu..
지난 시간에는 querydsl을 사용하기 위한 기본 문법들을 알아보았다.이번 섹션에는 배운 문법들을 토대로 결과를 효율적으로 반환하는 방법들을 알아보자!프로젝션과 결과 반환1. Basic프로젝션은 일전의 JPA에서도 나오는 용어로 조회를 할 때 "조회하고 싶은 대상을 지정"하는 기능을 의미한다.매번 entity 전체를 반환하는 것이 아니라 필요한 값만 가지고 오고 싶을 때 사용한다.프로젝션은 대상에 따라 조회하는 방식이 다르다.프로젝션 대상이 하나면, 타입을 명확히 지정할 수 있다.프로젝션 대상이 둘 이상이면, "Tuple"이나 "Dto"로 조회를 할 수 있다.❗️주의할 점❗️Tuple로 조회를 할 때, Repository 계층 내부에서 사용하는 것은 문제가 없지만, 그 이상의 레벨, 즉 controll..