Spring52 case 문 select, 조건절(where), order by에서 사용 가능 orderBy에서 Case문 함께 사용하기 예제 예를 들어서 다음과 같은 임의의 순서로 회원을 출력하고 싶다면? 0~30살이 아닌 회원을 가장 먼저 출력 0~20살 회원 출력 21~30살 회원 출력 Reference 자바 ORM 표준 JPA 프로그래밍 QueryDSL 2021. 6. 8. 서브쿼리 com.querydsl.jpa.JPAExpressions 서브 쿼리 eq 사용 서브 쿼리 goe 사용 서브 쿼리 여러 건 처리 in 사용 select 절에 서브 쿼리 from 절의 서브쿼리 한계 JPA, JPQL 서브쿼리의 한계점으로 from절의 서브쿼리(인라인 뷰)는 지원하지 않는다. 당연히 QueryDSL도 지원하지 않는다. 하이버네이트 구현체를 사용하면 select 절의 서브쿼리는 지원한다. QueryDSL도 하이버네이트 구현체를 사용하면 select 절의 서브쿼리를 지원한다. from 절의 서브쿼리 해결방안 서브쿼리를 join으로 변경한다. (가능한 상황도 있고, 불가능한 상황도 있다.) 애플리케이션에서 쿼리를 2번 분리해서 실행한다. nativeSQL을 사용한다. Reference 자바 ORM .. 2021. 6. 7. 조인 - 패치 조인 패치 조인은 SQL에서 제공하는 기능은 아니다. SQL 조인을 활용해서 연관된 엔티티를 SQL 한번에 조회하는 기능이다. 주로 성능 최적화에 사용하는 방법이다. 패치 조인 미적용 지연로딩으로 Member, Team SQL 쿼리 각각 실행 패치 조인 적용 즉시로딩으로 Member, Team SQL 쿼리 조인으로 한번에 조회 사용 방법 join(), leftJoin() 등 조인 기능 뒤에 fetchJoin() 이라고 추가하면 된다. Reference 자바 ORM 표준 JPA 프로그래밍 QueryDSL 2021. 6. 6. 조인 - on절 조인 - on절 on절을 활용한 조인 조인 대상 필터링 연관관계 없는 엔티티 외부 조인 1. 조인 대상 필터링 참고 : on절을 활용해 조인 대상을 필터링할 때, 외부조인이 아니라 내부조인(inner join)을 사용하면, where절에서 필터링 하는 것과 기능이 동일하다. 따라서 on절을 활용한 조인 대상 필터링을 사용할 때, 내부조인이면 익숙한 where절로 해결하고, 정말 외부조인이 필요한 경우에만 이 기능을 사용하자. 2. 연관관계가 없는 엔티티 외부 조인 주의! 문법을 잘 봐야 한다. leftJoin() 부분에 일반 조인과 다르게 엔티티 하나만 들어간다. 일반조인 : leftJoin(member.team, team) -> member.id = team.id on조인 : from(member).l.. 2021. 6. 5. 조인 - 기본 조인 기본 조인 조인의 기본 문법은 첫 번째 파라미터에 조인 대상을 지정하고, 두 번째 파라미터에 별칭(alias)으로 사용할 Q타입을 지정하면 된다. join(), innerJoin() : 내부 조인(inner join) leftJoin() : left 외부 조인(left outer join) rightJoin() : right 외부 조인(right outer join) JPQL의 on과 성능 최적화를 위한 fetch 조인 제공 세타 조인 연관 관계가 없는 필드로 조인 from 절에서 여러 엔티티를 선택해서 세타 조인 외부 조인 불가능 -> 다음에 설명할 조인 on을 사용하면 외부 조인 가능 Reference 자바 ORM 표준 JPA 프로그래밍 QueryDSL 2021. 6. 4. 정렬 집합함수 JPQL이 제공하는 모든 집합 함수를 제공 GroupBy 사용 groupBy, 그룹화된 결과를 제한하려면 having Reference 자바 ORM 표준 JPA 프로그래밍 QueryDSL 2021. 6. 3. 이전 1 2 3 4 5 6 ··· 9 다음