JPA์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (์‚ฌ์‹ค์€ JPQL๊ณผ Fetch Join์˜ ์˜คํ•ด)

JPA์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (์‚ฌ์‹ค์€ JPQL๊ณผ Fetch Join์˜ ์˜คํ•ด) 20.05.25 JPA ์Šคํ„ฐ๋”” ํ•˜๋ฉฐ ๊นจ๋‹ซ๊ฒŒ ๋œ ์˜คํ•ด JPA๋ฅผ ๊ฝค๋‚˜ ์˜ค๋ž˜ ์จ์™”๋Š”๋ฐ(๊ทธ๋ž˜๋ดค์ž 1๋…„์ด๊ธด ํ•˜์ง€๋งŒ), ์ด๋ฒˆ์— ์Šคํ„ฐ๋””๋ฅผ ํ•˜๋ฉฐ ํฌ๊ฒŒ ์ž˜๋ชป ์•Œ๊ณ  ์žˆ๋˜ ๊ฐœ๋… ๋ช‡๊ฐ€์ง€๋ฅผ ์ •์ •ํ•˜๊ณ , ์Šค์Šค๋กœ ๋ถ€๋„๋Ÿฝ๊ธฐ๋„ ํ•˜๊ณ  ๋‚˜๋ฆ„์˜ ์ปฌ์ณ์‡ผํฌ๋ฅผ ๋ฐ›์•˜๋‹ค. 1. N+1์€ ์—ฐ๊ด€ ์—”ํ‹ฐํ‹ฐ๊ฐ€ Collection์ธ์ง€๊ฐ€ ์ค‘์š”ํ•œ๊ฒŒ ์•„๋‹ˆ๋‹ค. ( ์ฃผ์˜ - JPQL ๊ธฐ์ค€, SQL X ) ์‚ฌ์‹ค ์™œ (๋‹น์‹œ ์Šคํ„ฐ๋””ํ•˜๋˜) ์šฐ๋ฆฌ ๋ชจ๋‘๊ฐ€ N+1 ๋ฌธ์ œ๋ฅผ ์—ฐ๊ด€ ์—”ํ‹ฐํ‹ฐ์˜ ์ปฌ๋ ‰์…˜ ์—ฌ๋ถ€์™€ ๊ด€๋ จ์ง€์–ด ์ƒ๊ฐํ•ด์™”๋˜ ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ต์žฌ๋‚˜ ๋งํฌ๋“ค์—์„œ Member -* Orders ์™€ ๊ฐ™์€ ์ผ๋Œ€๋‹ค์˜ ๊ด€๊ณ„๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ค๋ฉฐ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์ผ๊นŒ. ๋‚˜๋Š” ์ด์ œ๊นŒ์ง€ N+1 ์ด member.getOrders() ์˜ ์ปฌ๋ ‰..

DB, JPA, SQL 2020. 5. 25. 23:12
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ