[QueryDSL] Projections, @QueryProjection 을 사용하여 DTO로 반환하기
엔티티가 연관관계없이 특정 컬럼들만 조인해서 뽑아와야 할때가 있다. 이때 엔티티에 값을 담아서 리턴할 수 없어서 DTO에 반환해야 하는데 Projections 를 이용하면 보기좋게 코드를 작성할 수 있다. 먼저 Projections 내의 3가지 bean, fields, constructor 를 이용하는 방법과 @QueryProjection 어노테이션을 이용하는 방법이 있다. 활용해본 결과 Projections의 생성자를 이용하는 방법과 @QueryProjection 어노테이션을 이용하는 방법이 좋은 것 같고 프로젝트 상황에 따라 이 2가지를 사용하는게 이점이 있다고 본다. bean과 fields 방식은 DTO의 필드들과 네이밍이 동일하지 않으면 삽입이 안되서 다른 네이밍들은 직접 다 잡아줘야 한다. AE..
Java/JPA, QueryDSL
2023. 11. 13. 17:23