2023/02 2

[QueryDSL] NoSuchMethodError Trouble Shooting

๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ํ˜„์žฌ QueryDSL 5.0.0 ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๋ณต์žกํ•œ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๋Š” ํ…Œ์ด๋ธ”์„ JPA Mapping ์„ ์‚ฌ์šฉํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ ๋„ˆ๋ฌด ๋งŽ์€ ์ฟผ๋ฆฌ๋ฅผ ์š”์ฒญํ•˜๊ฒŒ ๋˜์–ด ๋ถˆํ•„์š”ํ•œ ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด @Query ์• ๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด ๋ ˆํผ์ง€ํ† ๋ฆฌ์— ์กฐํšŒ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ ค ํ–ˆ์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ๋ฐ˜๋ คํ–ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ํ•œ ๋ฒˆ์— ์กฐํšŒํ•ด ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ ํด๋ž˜์Šค๋กœ ์žฌ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ์กฐ๊ฑด์˜ ๊ฒฐ๊ณผ๋ฅผ GroupBy ํ•˜์—ฌ ์ž„๋ฒ ๋””๋“œ ํด๋ž˜์Šค์˜ ํ•„๋“œ์— ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ @Query ์• ๋…ธํ…Œ์ด์…˜์€ ๊ตฌํ˜„์ด ์–ด๋ ค์šธ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ํŠน์ • ์—”ํ‹ฐํ‹ฐ์˜ ๋ ˆํผ์ง€ํ† ๋ฆฌ์— @Query ๋ฅผ ์‚ฌ์šฉํ•ด ์กฐํšŒ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ํ•ด๋‹น ๋ ˆํผ์ง€ํ† ๋ฆฌ..

Programming/Spring 2023.02.22

[์›ํ‹ฐ๋“œ X ์ธํ”„๋Ÿฐ] Kotlin + Spring Networking Meet Up

์ง€๊ธˆ ์šฐ๋ฆฌ ํšŒ์‚ฌ๋Š” ํ˜„์žฌ ํšŒ์‚ฌ์—์„œ ์šด์˜ ์ค‘์ธ ์–ด๋“œ๋ฏผ์€ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด Trimou ๋ฅผ ์ฑ„ํƒํ•ด ๊ฐœ๋ฐœํ–ˆ๋Š”๋ฐ, ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ์ด Spring Boot 2.X ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์–ด ์–ด์ฉ” ์ˆ˜ ์—†์ด(?) Java 8 + Spring Boot 1.5.13 ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋“  ์„œ๋น„์Šค๊ฐ€ ์šด์˜๋˜๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ ๋ชจ๋“  ๋„๋ฉ”์ธ์ด ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์–ด ์‰ฝ๊ฒŒ ๋ฒ„์ „์„ ์˜ฌ๋ฆด ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‚ด๋ถ€์ ์ธ ์ด์Šˆ๋กœ ์ธํ•ด Spring Boot 2 ๋ถ€ํ„ฐ ์ง€์›ํ•˜๋Š” Optional ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•ด ๋งค๋ฒˆ ๋ณ„๋„์˜ Nullable Check ๋ฅผ ํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ํ•ญ์ƒ ๋Š๊ผˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ Kotlin ์— ๋Œ€ํ•œ ์ฃผ์ œ๊ฐ€ ์ž์ฃผ ์–ธ๊ธ‰๋˜๋‹ค ๋ณด๋‹ˆ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ฒŒ ๋˜์—ˆ๊ณ , ํ† ์ด ํ”„๋กœ์ ํŠธ๋กœ ๊ฐ€์ง€๊ณ  ..