nickheatlhy
@nickhealthy
Reviews Written
2
Average Rating
5.0
Posts
Q&A
16๊ฐ 17๊ฐ ๊ฐ๋จ ์ ๋ฆฌ ์ด๊ฒ ๋ง์๊น์ ?
๋์์ด ๋์ค์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ๋ ์ ๊ฐ ์ดํดํ ๋ถ๋ถ์ ์ ์ด๋ณผ๊ฒ์. ์ ๋ต๋ณ์ด ํ๋ฆด ์๋ ์๋ค๋ ๊ฑด ์ฐธ๊ณ ํด์ฃผ์ธ์. ToOne ๊ด๊ณ์ฌ๋งํ๋ฉด ํจ์น ์กฐ์ธ์ด ์ข๋ค.์กฐ์ธ์ ํด๋ ๋ฐ์ดํฐ๊ฐ ์ฆ๊ฐํ์ง ์๊ณ , ํ์ด์ง ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ด๋ค.๊ทธ๋ฅ ์กฐ์ธ์ ๊ฑธ๋ฉด LAZY ๋ก๋ฉ์ ์ํด N + 1 ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋, ํจ์น ์กฐ์ธ์ ํด์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ํ๋ค.ToMany ๊ด๊ณํจ์น ์กฐ์ธ์ ํ๋ฉด LAZY์ ๊ด๊ณ์์ด ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ํ๋ฒ์ ๊ธ์ด์ค๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์์ด ์ ๋ง ์๋ค๋ฉด ํจ์น ์กฐ์ธ์ ํด๋ ๊ด์ฐฎ๋ค.(์ฟผ๋ฆฌ๊ฐ ํ๋ฒ๋ง ๋ฐ์ํ๊ธฐ ๋๋ฌธ์)์ปฌ๋ ์ ์กฐํ์์ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ๋งํ๋ฉด ์ฌ์ฉํ๋ฉด ์๋๋ค. JPA ์ ์ฅ์์๋ DB๊ฐ ์กฐํํด์ค ๋ฐ์ดํฐ ์ค ์ด๋ค ๋ถ๋ถ์ ํ์ด์ง ์ฒ๋ฆฌํด์ผํ ์ง ๊ตฌ๋ถํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ์กฐํ๋ ๋ฐ์ดํฐ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ ํ One ์ ์ฅ์์ ํ์ด์ง์ ์ํํ๋ค.์ด๋ OOM์ด ๋ฐ์ํ ์ ์๋ค.์ปฌ๋ ์ ์ ์ง์ฐ ๋ก๋ฉ์ผ๋ก ์ค์ ํ๋ค.์ดํ default_batch_fetch_size ์ค์ ์ ํตํด ์ค์ ํ size๋งํผ ์กฐํํ๋ค.IN ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์๊ฐ ๋ปฅํ๊ธฐ ๋๋ ์ผ๋๋ค ์กฐ์ธ์ ๋จ์ ์ ํด๊ฒฐํ๋ค.(์ฆ, PK๋ฅผ ๊ธฐ์ค์ผ๋ก ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ๋ฏ๋ก ๋ฐ์ดํฐ ์ฆ๊ฐ X, ์กฐํ ์ฑ๋ฅ ์ )์ค์ํ ๊ฑด, ์ ํ๋ฆฌ์ผ์ด์ ์์ LAZY ๊ฐ์ ์ด๊ธฐํ(LAZY ๋ก๋ฉ ์ด๊ธฐํ๋ฅผ ์ํด get ๋ฉ์๋ ํธ์ถ)๋ฅผ ํ๊ธฐ ๋๋ฌธ์ "LAZY ๋ก๋ฉ ์ค์ + default_batch_fetch_size" ์ค์ ์ ํตํด IN ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ํ ์ ์๋ค.์ฆ, LAZY ๊ฐ์ ์ด๊ธฐํ๋ฅผ ํ์ง ์์ผ๋ฉด LAZY ์ด๊ธฐํ๊ฐ ๋์ง ์๊ธฐ ๋๋ฌธ์(๋ฐ์ดํฐ ์กฐํ X) IN ์ฟผ๋ฆฌ๋ ๋ฐ์ํ์ง ์๋๋ค. ๋ฐ๋ผ์ LAZY ๊ฐ์ ์ด๊ธฐํ๋ฅผ ํ๊ณ batch๋ ์ค์ ํด์ผ ํ๋ค. ์ด์ ๋๋ก ์ ๋ฆฌํ์ต๋๋ค. ์ ๋ ๋ต๋ณ์ ๋ฌ๋ฉด์ ์ ๋ฆฌ๊ฐ ๋์๋ค์. ํน์ ํ๋ฆฐ ์ ์๋ค๋ฉด ํผ๋๋ฐฑ ๋ถํ๋๋ฆฝ๋๋ค.
- 0
- 2
- 146
Q&A
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ ์๋จ
application-test.yml ํ์ผ์ด ์กด์ฌํ์๋ค์..์คํ๋ง์ ๊ธฐ๋ณธ ์ธ๋ฉ๋ชจ๋ฆฌ ๋๋น๋ฅผ ์ฌ์ฉํด์ ๊ทธ๋ฐ ๊ฒ ๊ฐ์ต๋๋ค.
- 0
- 4
- 128
Q&A
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ ์๋จ
๋ค๋ฅธ ๋ฐฉ๋ฒ ๋ค ํด๋ณด์๋๋ฐ ํด๊ฒฐ์ด ์๋๋ค์..๋์์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
- 0
- 4
- 128
Q&A
em.find 1์ฐจ ์บ์ SELECT 2๋ฒ ๋ฐ์
์ง๋ฌธ ๋๋ฆฌ๋ค ๋ณด๋ begin ๋ฉ์๋๊ฐ ๋น ์ ธ ์์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋์ง ์์ ๊ฒ์ ํ์ธํ์ต๋๋ค..๐ ๊ทธ๋๋ ์ฌ์ ํ ๊ถ๊ธํ ๋ถ๋ถ์.. em.find()๋ฅผ ๋ ๋ฒ ํ์ ๋ ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ๋์ด ์๋ ๊ฐ์ ๋ถ๋ฌ์ค๋๊น ์์ select ๋ฌธ์ด ๋ฐ์ํ์ง ์์์ผ ํ ๊ฒ ๊ฐ์๋ฐ ์ ๋๋ฒ์ด ๋ฐ์ํ๊ฒ ๋๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ ๊ฐ(100L)์ ์ฌ๋ฌ ๋ฒ ์ปค๋ฐํด๋ ์ ๋ํฌ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋ ์ด์ ๋ ๊ถ๊ธํด์
- 0
- 2
- 98
Q&A
ExecutionContext ์ง๋ฌธ
๊ฐ์๋ณด๋ค๊ฐ ํ ๊ฐ์ง ๋ ๊ถ๊ธํ ์ ์ด ์์ด ์ฌ์ญค๋ด ๋๋ค.40:56์ด ์ฏค์ if ๋ฌธ์์ jobExecutionContext์์ ์ด์ ๊ฐ์ ์กฐํํ ์ ์์ด์ if๋ฌธ์ด ๊ฑธ๋ฆฌ์ง ์๋ ๊ฒ์ผ๋ก ์๊ณ ์๋๋ฐ์. ์๊ฐํด๋ณด๋ฉด job์ ์คํํ ๋๋ง๋ค jobExection์ด ์๋ก ์์ฑ์ด ๋๊ณ , jobExecutionContext๋ jobExecution์ ์ฐธ์กฐํ๋๋ฐ ์ด๋ป๊ฒ ํด์ ์ฒซ ๋ฒ์งธ์ ์๋ํ๋ ๊ฐ์ ํ์ ํ๋ ๊ฒ์ธ์ง ๊ถ๊ธํฉ๋๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด ์ํ๋ job์ด ๋ง์์ง ์๋ก ๊ณ์ณ์ง๋ ์ด๋ฆ์ด ๋ง์์ ๋ก์ง์ ์ถํ ์์น ์์๋๋ก ์ํ๋ ๊ฐ๋ฅ์ฑ๋ ์์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ธ๋ฐ ์ด ๋ถ๋ถ๋ ์ค๋ช ํด ์ฃผ์ค ์ ์์๊น์?
- 1
- 2
- 309
Q&A
ExecutionContext ์ง๋ฌธ
์ ๊ฐ์๋ฅผ 2๋ฒ์ ๋ ๋ค์ ๋๋ ค๋ดค๋๋ฐ ๊ทธ์ ์์ผ ๋ณด์ด๋ค์..๋๋ฒ๊น ํ์ค ๋ ์ฃผ์๊ฐ์ด ๋ค๋ฅด๋ค์!๊ทธ๋ฐ๋ฐ ์ด๋ป๊ฒ ๊ฐ์ ํ์ ์ธ๋ฐ jobExecution์ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๊ณ , stepExecution์ ๊ณต์ ๊ฐ ๋ถ๊ฐ๋ฅํ์ง.. ๊ถ๊ธํฉ๋๋ค!์ ๊ฐ ExecutionContext ํด๋์ค๋ฅผ ๋ดค์ ๋ ์ธํฐํ์ด์ค์ธ๊ฐ ํด์ ๋ดค๋๋ ๊ทธ๋ฅ ํด๋์ค๋๋ผ๊ตฌ์
- 1
- 2
- 309




