728x90
728x90
[QueryDSL] annotationProcessorGeneratedSourcesDirectory deprecated
트러블슈팅2023. 8. 26. 15:45[QueryDSL] annotationProcessorGeneratedSourcesDirectory deprecated

스프링부트를 활용해 토이 프로젝트 개발을 진행하는 과정에서 어느날 갑자기 잘 되던 QueryDSL의 QDomain 경로 지정이 되지 않아서 테스트가 통과되지 않았다. 찾다찾다 build 설정에서 deprecated된 코드를 발견할 수 있었으며 컴파일 과정에서 JavaCompile유형의 작업의 속성을 변경해주는 코드로 설정한 querydslDir 변수의 경로에 파일을 생성하는 코드이다. 공식 Gradle 문서에 따르면 위의 annotationProcessorGeneratedSourcesDirectory는 generatedSourceOutputDirectory로 변경되었다고 한다. https://docs.gradle.org/current/dsl/org.gradle.api.tasks.compile.Compil..

QueryDSL 사용하기(SpringBoot 3.0) - QueryDSL 사용하기(4)
공부방2023. 8. 4. 05:34QueryDSL 사용하기(SpringBoot 3.0) - QueryDSL 사용하기(4)

서론 드디어 아래의 쿼리를 QueryDSL로 뽑아내서 View시켜볼 수 있게 되었다. select C.CHAMPION_ID, C.PRICE, ROUND((C.PRICE-CP.PRICE)/CP.PRICE*100) as PERCENT from Champion C, (select CC.CHAMPION_ID, CC.PRICE from ChampionPriceLog CC where (CC.CHAMPION_ID, CC.CREATE_DATE) in(select CCC.CHAMPION_ID, MAX(CCC.CREATE_DATE) AS CREATE_DATE from ChampionPriceLog CCC group by CCC.CHAMPION_ID) order by CC.CHAMPION_ID) as CP where C.C..

QueryDSL JPA Test (Spring Boot 3.0) - QueryDSL 사용하기(3)
공부방2023. 8. 3. 07:52QueryDSL JPA Test (Spring Boot 3.0) - QueryDSL 사용하기(3)

셋팅 def queryDslVersion = '5.0.0' dependencies { //QueryDsl // 필수 implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta" implementation "com.querydsl:querydsl-core:${queryDslVersion}" // QueryDsl 쿼리 타입 생성 (QClass 생성 시 @Entity 탐색) annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta" // java.lang.NoClassDefFoundError:javax/persistence/Entity 에러 방지 annotationProc..

QueryDSL이란? - QueryDSL 사용하기(1)
공부방2023. 8. 2. 07:28QueryDSL이란? - QueryDSL 사용하기(1)

서론 토이 프로젝트 진행 중 아래와 같은 쿼리 사용이 필요했고, QueryDSL을 한 번 사용해보기로 했음. select C.CHAMPION_ID, C.PRICE, ROUND((C.PRICE-CP.PRICE)/CP.PRICE*100) as PERCENT from Champion C, (select CC.CHAMPION_ID, CC.PRICE from ChampionPriceLog CC where (CC.CHAMPION_ID, CC.CREATE_DATE) in(select CCC.CHAMPION_ID, MAX(CCC.CREATE_DATE) AS CREATE_DATE from ChampionPriceLog CCC group by CCC.CHAMPION_ID) order by CC.CHAMPION_ID) as..

JPQL이란? - QueryDSL 사용하기(2)
공부방2023. 8. 1. 19:28JPQL이란? - QueryDSL 사용하기(2)

서론 이전 글에 나왔던 키워드 중 JPQL에 대해 조금이라도 알아보기 위해 정리하는 글 JPQL(Java Persitence Query Language)이란? 엔티티 객체를 대상으로 하는 객체지향 쿼리로 SQL을 추상화한 객체지향 쿼리이며, 작성된 JPQL은 SQL로 변환된다. 기존 JPA의 메서드 호출만으로는 섬세한 쿼리 작성이 어렵다는 문제를 해결하기 위해 JPQL이 나타나게 되었으며 SQL을 추상화했기 때문에 특정 데이터베이스 SQL에 의존하지 않는다는 장점이 있다. SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN을 지원한다. 예시 Member 객체를 대상으로 이름에 "bazzi"가 포함된 모든 회원을 검색하는 쿼리 String jpql = "select m From ..

728x90
728x90
image