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
JPA ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ Entity ๊ฐ’ ์ €์žฅ

์˜ค๋Š˜ ํ”„๋กœ์ ํŠธ์—์„œ ์ฃผ์š” ๋„๋ฉ”์ธ ๋ชจ๋ธ๋“ค์˜ ๊ตฌ์กฐ๋ฅผ ์žก๊ณ  ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ณผ์ •์—์„œ ์‚ฝ์งˆ๋กœ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•ด, "๋‹น์—ฐํ•˜์ง€๋งŒ" ๋‹ค์‹œํ•œ๋ฒˆ ๊นจ๋‹ฌ์€ ์‚ฌ์‹ค์„ ์ •๋ฆฌํ•˜๊ณ  ๊ธฐ๋กํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋ฐฐ๊ฒฝ ์ƒํ™ฉ์€ ๋น„์Šทํ•œ ์˜ˆ์‹œ๋กœ ๋“ค์–ด๋ณด๋ฉด, ๊ฐ€์žฅ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๊ฒŒ์‹œ๊ธ€(Article) - ๋Œ“๊ธ€(Comment)์˜ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•ด๋ณด์ž. Article(์ผ) - Comment(๋‹ค)์˜ ์ผ๋Œ€๋‹ค/๋‹ค๋Œ€์ผ ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ ์ƒํƒœ์ด๋‹ค. (๋ฌผ๋ก  ์ผ๋Œ€๋‹ค๋Š” ๊ฐ€๊ธ‰์  ์ž์ œํ•˜๊ณ  ๋‹ค๋Œ€์ผ๋งŒ ๋งคํ•‘ํ•˜๋Š”๊ฒŒ best practice์ด์ง€๋งŒ, ์–‘๋ฐฉํ–ฅ์ด ๊ผญ ํ•„์š”ํ•œ ์ƒํ™ฉ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž) ์ƒํ™ฉ์— ๋”ฐ๋ฅธ, ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ Entity ๊ฐ’ ์ €์žฅ ๋ฐฉ์‹ ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ Entity๋ฅผ saveํ•˜๋ฉด์„œ, ๋‹น์—ฐํ•œ๊ฑด๋ฐ ํฐ ๊ทธ๋ฆผ์™€ ๋ฐฉํ–ฅ์„ ๋†“์น˜๊ณ  ์žˆ์—ˆ๋‹ค. ์ •๋ฆฌํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. Article์€ ๋‘˜์งธ์น˜๊ณ ..

DB, JPA, SQL 2019. 12. 19. 00:46
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
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
๊ธ€ ๋ณด๊ด€ํ•จ