์ ์๋ ๋ค๋ฃจ์ด ๋ณธ ์ ์ด ์๋ฏ์ด, MVC ( Model - View - Controller ) ํจํด์ ์ํํธ์จ์ด ๋์์ธ ํจํด ์ค ํ๋๋ก์จ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ์์๋ค์ Model, View, Controller๋ก ๊ตฌ๋ถํ์ฌ ๊ฐ๊ฐ์ ์ญํ ์ ๋ถ๋ฆฌํ ํจํด์ ๋ป ํ๋ค.

ORM ( Object - Relational Mapping ) ์ ์์์ ๋ค๋ฃจ์๋, MVC ํจํด ์ค Model ์ญํ ์ ๊ฐ๋ฐ์์๊ฒ ์กฐ๊ธ ๋ ์ฝ๊ฒ ๊ตฌํ ํ ์ ์๋๋ก ํด์ฃผ๋ ๊ธฐ์ ์ด๋ค. ์ผ๋จ ์ด๊ฒ์ ์ด๋ฆ ๊ทธ๋๋ก ๊ฐ์ฒด ( Object )๋ฅผ ๊ด๊ณํ ๋ฐ์ดํฐ( Relational data)์ ๋งคํํ๊ธฐ ์ํ ๊ธฐ์ ์ด๋ค. ์ด ๊ธฐ์ ์ด ํ์ํ ์ด์ ๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ์๋ฐ์ ๊ฐ์ ๊ฐ์ฒด ์งํฅ ์ธ์ด์ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ด์ ํจ๋ฌ๋ค์ ๋ถ์ผ์น๊ฐ ์๊ธฐ๋๋ฌธ์ด๋ค. ์ผ๋จ "ํจ๋ฌ๋ค์ ๋ถ์ผ์น"๋ผ๋ ๋จ์ด ์์ ๋ง์ ๊ฒ๋ค์ด ํฌํจ๋์ด ์์ง๋ง, ํ์ฌ ๋ด ์ง์์ผ๋ก ์ดํด ํ ์ ์๋ ๊ฒ์,
์ด์ธ์๋ ๋ค๋ฅธ ํจ๋ฌ๋ค์ ๋ถ์ผ์น ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ์ค๊ฐ์์ SQL๊ณผ JDBC API๋ฅผ ์ฌ์ฉํด์ ๋ณํ ์์ ์ ์ง์ ํด์ฃผ์ด์ผ ํ๋ค. ํ์ง๋ง ์ด ์ผ์ ๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ด ๋๋ ์ผ์ด๋ฉด์ ๋ฐ๋ณต์ ์ด๊ณ ์ค์ํ๊ธฐ ์ฌ์ด ์์ ์ด ๋๋ค. ๋ํ ๊ฐ๋ฐ์ ์ค์ฌ์ด ๊ฐ์ฒด๊ฐ ์๋ ๋ฐ์ดํฐ(SQL)๋ก ์ด๋์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ ๊ฐ์ฒด์งํฅ์ ์ธ ์ค๊ณ์ ์ง์คํ ์ ์๊ฒ ๋๋ค. ๊ทธ๋์ ORM์ด ๋ฐ๋ก ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ค๋ค. ORM์ CRUD SQL์ ์์์ ์ฒ๋ฆฌํด์ค ๋ฟ๋ง ์๋๋ผ ๊ฐ์ฒด ๋ชจ๋ธ๋ง๋ ์์ฝ๊ฒ ํ ์ ์๋๋ก ๋์์ฃผ๊ณ , SQL์ ์ฌ์ฉํ์ง ์๊ณ ๋ ๊ฐ๋ฐ์ธ์ด๋ฅผ ๋ฒ์ญํด์ฃผ์ด SQL์ ๋์ ์ ์ด์ค๋ค.
๊ทธ๋ผ ORM์ด ๋์ ์ฒ๋ฆฌํด์ฃผ๋ SQL์ด๋, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ณด๋ฅผ ์ ์ฅ, ์กฐํ, ์ ๋ฐ์ดํธ, ๋ฐ ์ญ์ ๋ฅผ ํ ์ ์์ผ๋ฉฐ, ๋ง์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ํ๋ก๊ทธ๋จ๋ค์ด SQL์ ํ์ค์ผ๋ก ์ฑํํ๊ณ ์๋ค.
"ํฑํ ORM!" ๐
'23.04.24 - '23.04.29