๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ๏ธ Today I Learned(TIL)/์ŠคํŒŒ๋ฅดํƒ€ ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

[ TIL ] JPA ์‹ฌํ™”_Day 7

by carrot0911 2025. 1. 20.

์˜ค๋Š˜ ํ•œ ๊ณต๋ถ€ ๐Ÿง 

ํ•„์ˆ˜ ๊ณผ์ œ Level 2 (Cascade, N+1)

  • CascadeType.ALL์„ ์‚ฌ์šฉํ•˜๋ฉด ์œ„ํ—˜์„ฑ์ด ๋„ˆ๋ฌด ํฌ๋‹ค. ๊ทธ๋ž˜์„œ ALL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ PERSIST๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ๋“ฑ๋ก๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋” ์•ˆ์ „ํ•˜๋‹ค.
  • FetchType = LAZY์™€ Fetch Join์„ ํ•จ๊ป˜ ์ด์šฉํ•ด์„œ N+1 ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • FeFetch Join๊ณผ @EntityGraph ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ N+1์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ทธ์ค‘์—์„œ Fetch Join์ด inner join๊ณผ outer join ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Fetch Join์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.

์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์„ธ์…˜ ๋“ฃ๊ธฐ

  • Docker ์‚ฌ์šฉํ•ด์„œ MySQL๊ณผ Redis image ๋ถˆ๋Ÿฌ์˜ค๊ณ  IntelliJ์™€ ์—ฐ๋™์‹œ์ผœ ๋ณด๊ธฐ

 

์˜ค๋Š˜ ํ•˜๋ฃจ ์ •๋ฆฌ โœ๏ธ

์˜คํ›„์— ๋ชธ์‚ด ๊ธฐ์šด์ด ์ƒ๊ฒจ์„œ ๋ณ‘์› ๊ฐ€์„œ ์ฃผ์‚ฌ ๋งž๊ณ  ์•ฝ๋„ ๋จน์—ˆ๋Š”๋ฐ.. ํšจ๊ณผ๋Š” ์ž ์‹œ๋ฟ์ธ ๊ฑฐ ๊ฐ™๋‹ค..

์˜จ๋ชธ์ด ์šฑ์‹ ์šฑ์‹ ๊ฑฐ๋ฆฌ๊ณ  ๋ชธ์ด ๋œจ๊ฒ๋‹ค.. ์ปจ๋””์…˜ ๊ด€๋ฆฌ ์ž˜ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์‰ฝ์ง€ ์•Š๋„ค..

ํ‘น ์ž๊ณ  ์ผ์–ด๋‚˜๋ฉด ๊ดœ์ฐฎ์•„์ง€๊ธธ.....

 

๋‚ด์ผ ๊ณ„ํš โฐ

  • BaseEntity & GlobalExceptionHadler ๊ณต๋ถ€ ๋ฐ ์ •๋ฆฌ
  • ๊ณผ์ œ ์ง„ํ–‰
  • TIL ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ

+ ์ถ”๊ฐ€ ๊ณ„ํš์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค~_~