QueryDSL

·Framework/JPA
개요JPA를 사용하다 보면 게시글과 댓글, 주문과 주문 상품 같은 1:N 관계를 조회해야 할 일이 정말 많습니다. 하지만 DB에서 조인(Join)을 하면 결과는 계층적 구조가 아닌 언제나 평면적입니다. 오늘은 이 간극을 메우기 위해 우리가 흔히 하던 'Map 노가다'를 버리고, QueryDSL의 transform을 사용해 데이터를 가져오는 방법을 알아보겠습니다.즉, 연관관계가 있는 데이터를 조회할 때 평면적인(flat) 결과를 계층적인(hierarchical) 구조로 변환해야 하는 경우가 자주 발생하는데, Map을 통한 수동 변환 작업은 번거롭고 실수하기 쉽습니다. QueryDSL의 transform은 바로 이 문제를 해결해줍니다.이번 글에서는 회사에서 실제로 겪었던 사례를 바탕으로 QueryDSL의 t..
·Framework/JPA
개요프로젝트를 진행하던 중, QueryDSL을 사용해 동적 쿼리를 작성하면서 DTO 매핑 과정에서 필드 순서가 잘못되어 한동안 디버깅에 어려움을 겪었습니다. 본 글에서는 이러한 실수를 방지할 수 있는 @QueryProjection 어노테이션에 대해 학습한 내용을 정리하고자 합니다. @QueryProjction어노테이션이란❓@QueryProjection 어노테이션은 QueryDSL을 사용한 동적 쿼리 작성 시 DTO에 타입 안전한 방식으로 값을 매핑할 수 있도록 도와주는 기능입니다. QueryDSL은 Java에서 SQL과 같은 쿼리를 타입 안전하게 작성할 수 있게 해주는 라이브러리로, 주로 Spring Data JPA와 함께 사용되며 복잡한 동적 쿼리를 작성할 때 유용합니다. @QueryProjction ..
·TIL,일일 회고
개요오늘 멀티 모듈로 구성된 Spring Boot 프로젝트에서 QueryDSL을 사용하려다 다음과 같은 오류에 직면했습니다./Users/zinu/Dev/project2/SpartaLogistics/com.sparta.logistics.client.hub/build/generated/sources/annotationProcessor/java/main/com/sparta/logistics/client/hub/model/QHub.java:23: error: cannot find symbol public final com.sparta.logistics.common.model.QTimestamped _super = new com.sparta.logistics.common.model.QTimestamped(t..
지누박
'QueryDSL' 태그의 글 목록