profile
난 이 재 선
post-thumbnail

[Spring Boot] Querydsl 동적 쿼리 해결하는 방법

동적 쿼리를 해결하는 두가지 방식 BooleanBuilder BooleanExpression BooleanBuilder BooleanBuilder 생성자를 생성한후, where절 안에 들어갈 비교연산을 빌드로 한후 빌드 한 값을 넣어주기만 하면 된다. BooleanExpression where 조건에 null값은 무시됨. Reference 김영한의 실전 Querydsl

2022년 11월 18일
·
1개의 댓글
·
post-thumbnail

[Spring Boot] Querydsl 조회 결과 DTO반환

Querydsl Bean 생성(Bean population) 프로퍼티 접근 필드 직접 접근 생성자 사용 MemberDto 프로퍼티 접근 - Setter 프로퍼티로 접근할때는 Projections.bean(해당Dto.class, 적용할필드) 필드 직접 접근 필드값을 직접 바꾸는 필드 직접 접근은 Projcetions.fields(해당Dto.class, 적용할 필드) 생성자 사용 생성자를 사용할려면 Projcetion.constructor(해당Dto.class, 해당필드) @QueryProjection > DTO의 생성자에 이 어노테이션을 붙여주면 빌드시 DTO가 Q파일로 생성됨 사용할 때는 new QDto()이런식으로 생성자를 생성하듯 사용하면됨. 이 방법은 컴파일러로 타입을 체크할 수 있으므로 가장 안전한 방법. 다만 DTO에 QuertDSL어노테이션을 유지해야 하는 점과 DT

2022년 11월 18일
·
0개의 댓글
·
post-thumbnail

[Spring Boot] Querydsl Join

조인 - 기본 조인 기본 조인 , : 내부 조인(inner join) : left 외부 조인(left outer join) : right 외부 조인(right outer join) JPQL의 과 성능 최적화를 위한 조인 제공 -> 다음 on 절에서 설명 세타 조인 연관관계가 없는 필드로 조인 from 절에 여러 엔티티를 선택해서 세타 조인 외부 조인 불가능 -> 다음에 설명할 조인 on을 사용하면 외부 조인 가능 조인 - On절 > on절을 활용해 조인 대상을 필터링 할 때, 외부조인이 아니라 내부조인을 사용하면 where 절에서 필터링 하는 것과 기능이 동일하다. 따라서 on 절을 활용한 조인 대상 필터링을 사용할 때 내부조인 이면 익숙한 where 절로 해결하고 정말 외부조인이 필요한 경우에만 이 기능을 사용 연관관계 없는 엔티티 외부 조인 Reference [김영한의 실전 Quer

2022년 11월 18일
·
0개의 댓글
·
post-thumbnail

[Spring Boot] Querydsl 검색조건 쿼리

검색 조건 쿼리 검색 조건은 , 를 체인으로 연결 할 수 있다. AND 조건을 파라미터로 처리 에 파라미터로 검색조건을 추가하면 조건이 추가됨 이 경우 값은 무시 -> 메서드 추출을 활용해서 동적 쿼리를 깔끔하게 만들 수 있음 결과 조회 : 리스트 조회, 데이터 없으면 빈 리스트 반환 단 건 조회 결과가 없으면 : 결과가 둘 이상이면 : : 페이징 정보 포함, total count 쿼리 추가 실행 count 쿼리로 변경해서 count 수 조회 정렬 오름차순 : asc 내림차순 : desc nullLast : null은 정렬하고 마지막에 추가 nullFirst : null처음에 추가하고 정렬 null데이터에도 순서를 부여할 수 있다. 집함 GroupBy Reference [김영한의 실전 Querydsl](htt

2022년 11월 16일
·
0개의 댓글
·