queryDSL 2

QueryDsl에서 서브쿼리 사용하기

최근에 비슷한 유형의 일들만 하다보니 글을 쓸만한 주제가 없었는데, 마침 지금 개발하고있는 부분에서 QueryDsl의 서브쿼리를 사용할일이 생겨서 개발하면서 알게된 점들을 간략하게나마 정리해본다. 먼저 QueryDsl에서 서브쿼리는 인라인뷰(from절 서브쿼리)를 제외하고는 사용할 수 있도록 지원하고 있으며 개인적인 생각으로 from절 서브쿼리는 대부분의 경우에 join을 통해 해결할 수 있다고 생각하기 때문에 지원하지 않는다고해서 문제가 되지는 않는다고 생각한다. QueryDsl의 의존성은 다음과 같이 추가해주면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 com.querydsl querydsl-apt ${querydsl.version} provided com.querydsl querydsl..

SPRING FRAMEWORK 2021.09.13

Querydsl에서 DTO를 사용하는 방법

개발을 하고 있는데, 서로 연관 관계가 없는 테이블간에 데이터를 가져와야 할 일이 있었다, 각 Entity들에 @OneToMany나 @ManyToOne 어노테이션을 이용해 데이터를 가져오는 방법도 고려해보았으나, 위 방법은 제일 간단한 방법이였지만, 서로 연관관계도 없는 Entity에 @ManyToOne나 @OneToMany을 이용하는 건 코드품질상, 관리적 측면에서 올바르지 않다고 판단되었다, 따라서 querydsl을 이용해 데이터를 가져오기로 했으나, 막상 코드를짜서 실행해보니, 맨 앞에 선언되어있는 엔티티의 데이터만 가져오고 조인된 나머지 데이터들을 가져오지 못하는 문제가 발생했다. DTO를 이용해 데이터를 받아야겠다는 생각까지는 도달했으나, 당최 JPA서는 DTO를 어떻게 사용해야하는지 감이 안잡..

SPRING FRAMEWORK 2020.03.04