▼ Backend/└ QueryDsl
-
Spring Boot | No constructor found for class.. with parameters▼ Backend/└ QueryDsl 2022. 5. 12. 11:20
▶︎ 로그 No constructor found for class com.admin.domain.board.Board$Response with parameters: [class java.lang.Long, class java.lang.String, class java.lang.String, class java.time.LocalDateTime] QueryDsl을 사용하다 보면 필요한 칼럼만 조회하거나 서브 쿼리를 이용하여 칼럼을 추가할 때 Projections.constructor에 조회결과를 리턴 받을 클래스를 지정하는데 해당 클래스의 생성자에 조회 결과의 컬럼 리턴 타입과 리턴 개수가 정확해야 한다. Projections.constructor(Board.Response.class) 예시) 조회할 때 ..
-
Spring Boot | Querydsl 서브 쿼리 사용하기▼ Backend/└ QueryDsl 2021. 10. 20. 15:20
프로젝트 QueryDsl Gradle 설정 Spring Boot | Querydsl, Gradle 설정하기 (Eclipse) ▶ Querydsl이란 Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) kitty-geno.tistory.com ▶ SELECT 에서의 서브 쿼리의 사용 방법 ExpressionUtils.as(~) 부분이 서브 쿼리로 작성된 부분이다. Querydsl 내부에서 새로운 Expression을 사용할 수 있도록 지원해준다. public List selectCodeList(ArrayList ..
-
Spring Boot | Querydsl, Gradle 설정하기 (Eclipse)▼ Backend/└ QueryDsl 2021. 10. 19. 13:12
▶ Querydsl이란 Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성 할 수 있도록 해 주는 (JPQL 사용성을 높이기 위해 확장한) 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) API를 이용해서 쿼리를 생성할 수 있다. 사용 이유에는 여러 가지가 있지만.. JPQL을 사용하더라도, 복잡한 로직의 경우 개행이 포함된 쿼리 문자열이 길어지기 때문에 동적 쿼리를 메소드로 구조화하여 관리를 편하게 하기 위해 단순 문자열과 비교해서 Fluent API를 사용할 때의 장점은 다음과 같다. IDE의 코드 자동 완성 기능 사용 문법적으로 잘못된 쿼리를 허용하지 않음 도메인 타입과 프로퍼티를 안전하게 참조할 수 있음 도메인 ..