QueryDsl 기본 조인
Member엔티티와 Team엔티티는 N : 1 연관관계이다. 그리고 LAZY지연로딩이 설정되어있다 일반조인 다음 Team엔티티는 member와 지연로딩으로 설정이 되어있기 때문에 team을 조회하지 않는다면 처음의 쿼리는 다음과 같이 member 엔티티만 조회하는
QueryDsl을 이요하여 entity 전체의 값을 가져오는 것이 아닌 조회 대상을 지정해 원하는 값만 조회하는 것을 의미한다. 쉽게 말하자면 Projection이란, '테이블에서 원하는 컬럼만 뽑아서 조회하는 것 이다.먼저 프로젝션의 대상이 하나이면 명확하게 타입을
동적쿼리란 실행시에 쿼리문장이 만들어져 실행되는 쿼리문을 말한다. 쿼리문이 변하냐 변하지 않느냐에 따라 변하지 않으면 정적쿼리 변한다면 동적쿼리이다. 대부분 동적쿼리를 사용할때에는 텍스트문장으로 쿼리문을 가지고 있다가 실행할때마다 텍스트 쿼리문장을 바꿔서 실행하는 방식
지금 까지 배운 QueryDsl을 Repository에서 사용하기 위해서는 Respository에 JPAQueryFactory 를 주입해주어야한다. 주입하는 방법은 2가지가 있다.생성자 주입으로 JPAQueryFactory를 주입해주자! 매개변수는 EntityManag
우선 엔티티는 요청과 응답에서 성능을 최적화하고 엔티티를 엔티티만의 보존을 하기위해서 DTO를 제작해야한다. 다음의 코드는 member와 team을 조회하기윈한 dto이다.회원의 id , 회원의 이름 , 회원의 나이 , 팀의 id , 팀의 이름을 조회해야한다고 가정해보
QueryDsl의 2번째 동적 쿼리 방식인 where의 다중조건 방법을 소개하겠다. 우선 builder 패턴 보다 이 방법을 추천한다. 그이유는 몇가지가 있는데 첫번째는 동적쿼리를 작성한 메서드를 볼 때 가독성이 더 좋다. 두번째는 메소드의 재사용성이다. Where절의
현재 프로젝트를 진행하던 중 Querydsl로 검색을 하는 기능을 만들었는데, 검색에는 스터디의 제목, 스터디의 지역, 스터디 관련 태그로 검색을 진행 할 수 있다. 하지만 문제는 바로 검색을 하면 쿼리의 N+1문제가 발생하는 것이다. 이는 스터디(Study)의 연관