[QueryDSL] QueryDSL과 빠른 세팅 방법
·
QueryDSL
Spring Data JPA만으로도 대부분의 서비스는 충분하다.간단한 CRUD나 단순 조회 쿼리는 메서드 이름만으로 금방 해결된다.하지만 조금만 복잡해지면 상황이 달라진다. 조건이 여러 개인 동적 쿼리,여러 테이블을 엮는 복잡한 조인,필요한 필드만 조회하는 프로젝션,그리고 성능을 위한 페치 조인까지 들어가면문자열 기반 JPQL은 한계가 금방 드러난다. 이럴 때 필요한 것이 바로 QueryDSL이다.QueryDSL은 컴파일 시점에 오류를 잡아주는 타입 안전 쿼리 빌더로,IDE 자동완성과 높은 가독성을 제공한다.즉, 복잡한 조건도 안전하고 깔끔하게 작성할 수 있다. 따라서 오늘은 QueryDSL을 빠르게 세팅하는 방법에 대해 알아볼 것이다. 1. build.gradle 설정먼저 build.gradle 파일에..
[스프링] 파일 업로드
·
스프링
요즘은 스프링에서 파일 업로드가 너무 당연하게 된다.MultipartFile 한 줄이면 끝나니까, 딱히 어렵게 느껴지지도 않는다. 그런데 조금만 거슬러 올라가보면,예전에는 파일 업로드가 꽤나 복잡한 작업이었다고 한다.multipart/form-data 요청을 직접 파싱해야 했고,파일 이름과 데이터 경계를 바운더리(------abc123)로 일일이 나눠야 했다.업로드하려면 InputStream을 열고, 바이트 단위로 읽어서 디스크에 써야 했고,중간에 에러라도 나면 로그를 뒤적이며 원인을 찾아야 했다. 지금처럼 file.transferTo() 한 줄로 끝나는 시대가 오기까지스프링은 이 과정을 단계적으로 단순화시켜왔다.서블릿의 Part API → MultipartFile 인터페이스 → 파일 저장과 다운로드 관..