Skip to main content
Subset์€ Entity์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•œ ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ฟผ๋ฆฌ ํ…œํ”Œ๋ฆฟ์ž…๋‹ˆ๋‹ค.

Subset ๊ฐœ์š”

์œ ์—ฐํ•œ ์กฐํšŒ

์ƒํ™ฉ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ ํ˜•์‹ A, P, SS ๋“ฑ

ํƒ€์ž… ์•ˆ์ „์„ฑ

์ปดํŒŒ์ผ ํƒ€์ž„ ๊ฒ€์ฆ ์ž๋™ ํƒ€์ž… ์ถ”๋ก 

๊ด€๊ณ„ ๋กœ๋”ฉ

JOIN๊ณผ Loader ํ†ตํ•ฉ 1:N, N:M ์ง€์›

์„ฑ๋Šฅ ์ตœ์ ํ™”

ํ•„์š”ํ•œ ํ•„๋“œ๋งŒ ์„ ํƒ N+1 ๋ฌธ์ œ ํ•ด๊ฒฐ

Subset์ด ํ•„์š”ํ•œ ์ด์œ 

๋ฌธ์ œ: ๋‹จ์ผ ์ฟผ๋ฆฌ์˜ ํ•œ๊ณ„

API๋งˆ๋‹ค ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค:

ํ•ด๊ฒฐ: Subset์œผ๋กœ ํ†ตํ•ฉ

Subset์˜ ๊ตฌ์„ฑ ์š”์†Œ

1. SubsetQuery - ๊ธฐ๋ณธ ์ฟผ๋ฆฌ

Entity์—์„œ ์ •์˜๋œ ํ•„๋“œ ์„ ํƒ:

2. LoaderQuery - ๊ด€๊ณ„ ๋กœ๋”ฉ

1:N, N:M ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ:

3. Hydrate - ๊ฒฐ๊ณผ ๋ณ€ํ™˜

Flat ๋ฐ์ดํ„ฐ โ†’ ์ค‘์ฒฉ ๊ฐ์ฒด:

Subset ๋ช…๋ช… ๊ทœ์น™

์ผ๋ฐ˜์ ์ธ Subset ์ด๋ฆ„ ํŒจํ„ด:
Subset ์ด๋ฆ„์€ ์ž์œ ๋กญ๊ฒŒ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€ ๋‚ด์—์„œ ์ผ๊ด€๋œ ๊ทœ์น™์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์‹ค์ „ ์˜ˆ์ œ

์‚ฌ์šฉ์ž ๋ชฉ๋ก API

์‚ฌ์šฉ์ž ํ”„๋กœํ•„ API

Subset vs Raw Puri

Subset ์‚ฌ์šฉ (๊ถŒ์žฅ)

Raw Puri ์‚ฌ์šฉ

์–ธ์ œ Raw Puri๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?
  • Subset์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋Š” ๋ณต์žกํ•œ ์ฟผ๋ฆฌ
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”๊ฐ€ ํ•„์š”ํ•œ ํŠน์ˆ˜ ์ผ€์ด์Šค
  • ์ผํšŒ์„ฑ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
์ผ๋ฐ˜์ ์ธ CRUD๋Š” ํ•ญ์ƒ Subset ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„

Subset ์ •์˜ํ•˜๊ธฐ

Entity์—์„œ Subset ์ƒ์„ฑ

Subset ์‚ฌ์šฉํ•˜๊ธฐ

Model์—์„œ Subset ํ™œ์šฉ

์ค‘์ฒฉ ๊ด€๊ณ„

LoaderQuery๋กœ 1:N, N:M ๋กœ๋”ฉ

Puri ๊ธฐ๋ณธ

Puri ์ฟผ๋ฆฌ ๋นŒ๋” ๋ฐฐ์šฐ๊ธฐ