Java/Spring

[SpringBoot] Querydsl μ„€μ • μ‹œ 였λ₯˜

벼리01 2024. 3. 11. 12:45

πŸ“Œν™˜κ²½

Spring boot 3.2.3

Gradle - Groovy

Java 17

 

 

μŠ€ν”„λ§λΆ€νŠΈ 3.0 μ΄μƒλΆ€ν„°λŠ” 섀정이 λ³€κ²½λ˜μ—ˆλ‹€. 3.0 이전 버전을 μ‚¬μš©ν•˜λŠ” μ±…μ΄λ‚˜ κ°•μ˜μ—μ„œ μ„€λͺ…ν•˜λŠ” 섀정이 λ‹€λ₯΄λ―€λ‘œ μ£Όμ˜ν•œλ‹€.

1. javax λŒ€μ‹  jakarta둜 λ³€κ²½λ˜μ—ˆμœΌλ―€λ‘œ `build.gradle`에 λ‹€μŒκ³Ό 같이 μž‘μ„±ν•œλ‹€.

 

buildscript {
    ext {
        queryDslVersion = "5.0.0"
    }
}

.
.
.

dependencies {
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
    annotationProcessor(
            "jakarta.persistence:jakarta.persistence-api",
            "jakarta.annotation:jakarta.annotation-api",
            "com.querydsl:querydsl-apt:${queryDslVersion}:jakarta"
    )
}

 

 

 

 

2. Attempt to recreate a file for type 도메인λͺ….νŒ¨ν‚€μ§€λͺ….domain.QBaseEntity 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 경우 

`build.gradle`μ—μ„œ srcDirλ₯Ό λ³€κ²½ν•΄μ€€λ‹€.

 

μ±… λ˜λŠ” κ°•μ˜μ—λŠ” μ•„λ§ˆ λ‹€μŒκ³Ό 같이 λ‚˜μ™€μžˆμ„ 것이닀.

 

sourceSets {
    main {
        java {
            srcDirs = ["$projectDir/src/main/java", "$projectDir/build/generated"]
        }
    }
}

 

 

이 κ²½μš°μ— ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„± μ‹œλ§ˆλ‹€ build/generated 폴더λ₯Ό μ‚­μ œν•΄μ•Όν•˜λŠ” μ΄μŠˆκ°€ λ°œμƒν•œλ‹€.

λ”°λΌμ„œ srcDirsλ₯Ό λ‹€μŒκ³Ό 같이 λ³€κ²½ν•΄μ€€λ‹€.

 

sourceSets {
    main {
        java {
            srcDirs = ["$projectDir/src/main/java", "$projectDir/main/generated"]
        }
    }
}

 

 

μ΄λ ‡κ²Œ μž‘μ„±ν•˜λ©΄ Querydsl Q파일의 생성 μœ„μΉ˜κ°€ 달라진닀. 이 경우 Q파일이 μ†ŒμŠ€ 폴더에 λ“€μ–΄κ°€λ―€λ‘œ .gitignore에 /src/main/generated 경둜λ₯Ό μ„€μ •ν•΄μ£Όμ–΄μ•Όν•œλ‹€. 

 

 

 

πŸ“Œμ°Έκ³ 

 

 

QueryDsl SpringBoot 2.7의 gradle 섀정을 κ³΅μœ ν•©λ‹ˆλ‹€. - μΈν”„λŸ° | κ³ λ―Όμžˆμ–΄μš”

plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = 'study' ve...

www.inflearn.com