분류 전체보기118 QueryDsl 동적쿼리 작성 방법 QueryDsl은 자바 개발자들 사이에서 꾸준히 인기를 끌고 있는 라이브러리 중 하나입니다. SQL, JPA 등 다양한 쿼리의 타입 안전성을 보장하며 Java 코드로 직접 작성할 수 있게 도와줍니다. 이 글에서는 QueryDsl의 강력한 기능 중 하나인 동적 쿼리 작성 방법에 대해서 알아봅니다. 동적 쿼리는 어플리케이션 실행 중에 쿼리 조건이 결정되는 경우에 매우 유용합니다. 예를 들어, 사용자의 입력 값에 따라 검색 조건이 바뀌어야 할 때 이를 쉽게 처리할 수 있습니다. 동적 쿼리란? 동적 쿼리는 실행 시점에 어떤 조건을 쿼리에 포함할지 결정하는 쿼리 입니다. 예를 들어, 검색 폼에 여러 조건을 입력하고, 이 중 일부만 선택적으로 적용하여 결과를 필터링해야 하는 상황이 있다면, 동적 쿼리가 필요하게 됩.. 2024. 3. 26. QueryDsl 프로젝션 결과 반환 프로젝션 결과 반환은 데이터베이스로 부터 조회된 데이터를 어플리케이션에서 사용하기 위한 특정 형식의 객체나 구조를 매핑하는 과정입니다. 이 과정을 통해, 전체 데이터 대신 필요한 데이터만 포함하는 객체를 반환할 수 있습니다. 단일 필드 프로젝션 단일 필드를 조회할 경우는 해당 필드의 type를 선언하면 됩니다. @Test void 단일_필드_프로젝션() { List result = queryFactory .select(student.studentName) .from(student) .where(student.score.goe(10)) .fetch(); assertThat(result.size()).isEqualTo(4); } 다중 필드 프로젝션 Tuple 사용하기 다중 필드를 조회하려면, Tuple를 사.. 2024. 3. 25. QueryDsl 서브쿼리 QueryDsl에서 서브쿼리는 쿼리 내부에 중첩되는 또 다른 쿼리를 의미합니다. 서브쿼리는 주로 복잡한 데이터 집합을 필터링하거나, 특정 조건에 해당하는 데이터를 검색할 때 사용됩니다. QueryDsl을 사용할 때, JPAExpressions 클래스를 활용하여 서브쿼리를 생성할 수 있으며, 이를 통해 select, where 등의 절 내에서 다양한 형태로 사용할 수 있습니다. 아래 쿼리는 회원을 조회하면서 조회 조건을 서브쿼리로 만든 예시입니다. @Test void 서브쿼리_테스트() { List fetch = queryFactory .select(member) .from(member) .join(member.team, team) .where(member.team.name.eq( JPAExpression.. 2024. 3. 20. QueryDsl 조인 QueryDsl 에서도 JPQL과 유사하게 다양한 종류의 조인을 지원합니다. 주로 사용되는 조인 유형에는 JPQL과 마찬가지로 내부 조인, 외부 조인, 세타 조인, 크로그 조인이 있습니다. 내부 조인 (Inner Join) 내부 조인은 두 테이블에서 조건이 일치하는 행만 반환합니다. 아래 코드는 member, team 간에 일치하는 행만 추출하며 그중 teamA인 행만 조회합니다. @Test void 내부_조인_테스트() { List result = queryFactory .select(member) .from(member) .join(member.team, team) .where(team.name.eq("teamA")) .fetch(); assertThat(result.size()).isEqualTo(.. 2024. 3. 20. 이전 1 ··· 6 7 8 9 10 11 12 ··· 30 다음