๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JPQL2

JPA ์ง‘๊ณ„ํ•จ์ˆ˜ sum ์€ long ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ตœ๊ทผ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์ง‘๊ณ„ํ•˜์—ฌ ์กฐํšŒํ•˜๋Š” API ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์—, Spring Data JPA ์™€ Querydsl ์„ ์ด์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ์˜ค๋Š˜, sum ์ง‘๊ณ„ ํ•จ์ˆ˜ ๋•Œ๋ฌธ์—, java object ๋กœ ๋งคํ•‘์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ, ๊ทธ ์ด์œ ์™€ ํ•ด๊ฒฐ๊ณผ์ •์„ ์„ค๋ช…ํ•ด๋ณด๊ฒ ๋‹ค. ๊ธฐ์กด ์ฟผ๋ฆฌ @Query( """ select new service.dto.PaymentTotalSumDTO( sum(sub.totalAmount) as totalAmount, sum(sub.discount) as discount, sum(sub.usedPoint) as usedPoint ) from (select tpd.totalAmount as totalAmount, tpd.discount as discount, tpd.u.. 2023. 7. 26.
[Spring Data JPA] ํ•œ๋ฐฉ ์ฟผ๋ฆฌ์˜ ํšจ๋Šฅ (feat : JPQL) ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์˜ ๊ธฐ๋ณธ ์†Œ์–‘์ธ SQL์„ ์ž‘์„ฑํ•˜๋Š” ์‹ค๋ ฅ์€ ๋›ฐ์–ด๋‚  ์ˆ˜๋ก ๋”ํ•  ๋‚˜์œ„ ์—†๋‹ค. ์‹ค์ œ๋กœ ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•˜๋Š” ์„œ๋น„์Šค์—์„œ๋Š” ์ด ์„ฑ๋Šฅ์„ ๋งค์šฐ ์ค‘์š”์‹œ ํ•˜๋Š”๋ฐ, ์ผ๋ฐ˜์ ์ธ ํ™˜๊ฒฝ์—์„œ๋Š” DB ์กฐํšŒ์  ์ธก๋ฉด์—์„œ ํฐ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์ด๋Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๊ฐœ์„  ๋ฐฉ์•ˆ์ด๋ผ๊ณ ๋“ค ํ•œ๋‹ค. SQL์„ ๊ณต๋ถ€ํ•˜๊ณ , JPA ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ํ•ญ์ƒ ๋น ์งˆ ์ˆ˜ ์—†๋Š” ์–˜๊ธฐ, ์„ฑ๋Šฅ ์ตœ์ ํ™”. ํ•ญ์ƒ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ๊ฐœ์„ ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ฃผ์–ด์กŒ๊ณ , ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‚ด ์ƒ๊ฐ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. DB ERD Model opnions entity๋ฅผ paging ์ฒ˜๋ฆฌํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋ฝ‘์•„์•ผ ํ•˜๋Š” ์ƒํ™ฉ. ์ฃผ์–ด์ง„ ์ค‘์š” ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” user_id ๋ฟ์ด๋‹ค. 1. ๋ณดํ†ต ๊ฐ™์œผ๋ฉด Document Entity๋ฅผ ๋จผ์ € ์กฐํšŒํ•œ ํ›„, opinions ๋ฅผ ํŽ˜์ด์ง• .. 2023. 2. 1.
๋ฐ˜์‘ํ˜•