QueryDSL์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์์ ๋น๋ ๊ณผ์ ์ค์ ์์ฃผ ๋ฐ์ํ๋ ์๋ฌ์ธ๋ฐ ์ ๋ฆฌํด์ ๋ค์์๋ ๋ฐ๋ก ์์ ํ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค.
์ค๋ฅ ์ํฉ
QueryDSL์ ์ฌ์ฉํ์ฌ ์ํฐํฐ์ ๋ํ Qํ์ ํด๋์ค ํ์ผ๋ค์ ์๋ ์์ฑํ๋ ๊ณผ์ ์์, ์ด๋ฏธ ์์ฑ๋ Qํ์ ํด๋์ค ํ์ผ์ ๋ค์ ์์ฑํ๋ ค ํ ๋ ๋ฐ์ํ๋ ์ค๋ฅ์ ๋๋ค. ์ค๋ฅ ๋ฉ์์ง๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
Attempt to recreate a file for type org.jake.spring.entity.QAnster
Attempt to recreate a file for type org.jake.spring.entity.QMember
์ด๋ QAnster
์ QMember
๊ฐ์ Q๊ฐ์ฒด ํ์ผ๋ค์ด ์ด๋ฏธ ์์ฑ๋์๋๋ฐ, ๋น๋ ๊ณผ์ ์์ ์ด ํ์ผ๋ค์ ๋ค์ ์์ฑํ๋ ค๊ณ ํ๋ฉด์ ๋ฐ์ํ๋ ๋ฌธ์ ์
๋๋ค.
์์ธ
QueryDSL์ ์ํฐํฐ ํด๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Qํ์ ์ ํด๋์ค ํ์ผ๋ค์ ์์ฑํฉ๋๋ค. ์ด ํ์ผ๋ค์ ์ฟผ๋ฆฌ ์์ฑ ์ ํ์ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค. ํ๋ก์ ํธ ๋น๋ ์, ์ด์ ์ ์์ฑ๋ Qํ์ ํด๋์ค ํ์ผ๋ค์ด ์ญ์ ๋์ง ์๊ณ ๋จ์ ์์ผ๋ฉด, ๋์ผํ ํ์ผ์ ๋ค์ ์์ฑํ๋ ค๊ณ ํ ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- build ํ์ ํด๋ ์ญ์ : ํ๋ก์ ํธ์
build/generated
ํด๋๋ฅผ ์ญ์ ํฉ๋๋ค. ์ด ํด๋ ์์๋ QueryDSL์ ์ํด ์๋ ์์ฑ๋ Qํ์ ํด๋์ค ํ์ผ๋ค์ด ์์นํฉ๋๋ค. ํด๋๋ฅผ ์ญ์ ํจ์ผ๋ก์จ, ์ด์ ์ ์์ฑ๋ ํ์ผ๋ค์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. - gradle build -> clean: Gradle ๋น๋ ํด์ ์ฌ์ฉํ๋ค๋ฉด, Gradle์
clean
ํ์คํฌ๋ฅผ ์คํํ์ฌ ์ด์ ๋น๋ ๋ ์์ฑ๋ ํ์ผ๋ค์ ๋ชจ๋ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด ์์ ์ ํ๋ก์ ํธ๋ฅผ ๊นจ๋ํ ์ํ๋ก ๋ง๋ค์ด ์ค๋๋ค. - gradle other -> compileJava: ๋ง์ง๋ง์ผ๋ก,
compileJava
ํ์คํฌ๋ฅผ ์คํํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋ค์ ์ปดํ์ผํฉ๋๋ค. ์ด ๊ณผ์ ์์ QueryDSL์ ์ํด ํ์ํ Qํ์ ํด๋์ค ํ์ผ๋ค์ด ๋ค์ ์์ฑ๋ฉ๋๋ค.
์คํ ๋ฐฉ๋ฒ
Gradle์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ํฐ๋ฏธ๋์ด๋ ์ปค๋งจ๋ ๋ผ์ธ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์์๋๋ก ์คํํ๋ฉด ๋ฉ๋๋ค:
./gradlew clean
./gradlew compileJava
์ ๋ช
๋ น์ด๋ Unix/Linux/macOS ์์คํ
์์์ ์์์ด๋ฉฐ, Windows์์๋ gradlew
๋์ gradlew.bat
์ ์ฌ์ฉํฉ๋๋ค.
(ํด๋ฆญ์ผ๋ก ํ์ค๋ถ๋ค์ ์๋ ์ฐธ๊ณ )
๊ฒฐ๋ก
QueryDSL์ ์ฌ์ฉํ๋ ํ๋ก์ ํธ์์ ๋น๋ ๊ณผ์ ์ค์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, build/generated
ํด๋๋ฅผ ์ญ์ ํ๊ฑฐ๋ Gradle์ clean
ํ์คํฌ๋ฅผ ํตํด ์ด์ ๋น๋ ํ์ผ๋ค์ ์ ๋ฆฌํ๋ ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ก์ ํธ๋ฅผ ์ํํ๊ฒ ๋น๋ํ๊ณ , QueryDSL์ Qํ์
ํด๋์ค ํ์ผ๋ค์ ์ ์์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.