์์ง DDD์ ๋ํ ์ง์์ด ๋๋ฌด๋๋ฌด ๋ถ์กฑํด์ ์ค๋ช ํ ์ ์์ง๋ง ๋ฏธ๋์ MSA๋ก ๋ณํํ๋ค๊ณ ๊ฐ์ ํ์ ๋ ์ฝ๊ฒ ๋ฐ๊ฟ ์ ์๋ค๊ณ ์๊ฐํ์ฌ ๋๋ฉ์ธ ๋ณ๋ก ํจํค์ง๋ฅผ ๋๋ด๋ค.
Service ์ชฝ์์ Port ํจํค์ง์ ์กด์ฌํ๋ Repository๋ง ์์กดํ๊ณ ์์ผ๋ฉฐ JPA๋ฅผ ์ฌ์ฉํ๊ณ ์์ง๋ง Service์
์ฅ์์ ์์กดํ์ง ์๋๋ก ์ค๊ณ๋ฅผ ํ๋ค.
๊ทธ ์ด์ ๋ ์ธ์ ๋ ์ง JPA๊ฐ ์๋ ๋ฐ์ดํฐ ๊ณ์ธต์ ๊ธฐ์ ์ ๋ฐ๊ฟจ์ ๋ ํ๊ธ๋ ฅ์ ์ต๋ํ ๋ฎ์ถ๊ธฐ ์ํด์๋ค.
์ข ๋ ์์ธํ ๋ณด๋ฉด
์๋น์ค๋ ๋ค์๊ณผ ๊ฐ์ด OrderRepository๋ง ์์กดํ๋ค.
OrderRepository์ ๊ตฌํ์ฒด๋ฅผ OrderRepositoryImpl๋ก ๋ง๋ค์์ผ๋ฉฐ ๋ด๋ถ์์ JPARepository๋ฅผ ํฌํจํ๊ณ ์๋ค.
JPARepository์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ๋ฒ ๋ฉ์๋๋ก ๊ฐ์ธ์ฃผ๋ ํํ์ด๋ค.
์ด๋ฐ์์ผ๋ก ๋ง๋ค๊ฒ ๋๋ฉด JPA๊ธฐ์ ์ ์ฌ์ฉํ์ง ์๊ณ ๋ค๋ฅธ ๊ธฐ์ ๋ก ๊ต์ฒดํ๋๋ผ๋ ํด๋น ๋ถ๋ถ์ ๋ํด์๋ง ๊ตฌํํด์ ๊ฐ์๋ผ์์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์๊ด์ ์์ ์ ๋ฆฌํ ๊ฒ์ผ๋ก ํ๋จํ๋ค.
๋ค์ ํ ๋ฒ ๊ฐ์ฒด์งํฅ์ ๋๋จํจ์ ๋๋ ํ๋ฃจ์๋ค.