ORM
ORM
Object-Relational Mapping์ ์ค์๋ง์ด๋ค. ๊ฐ์ฒด-๊ด๊ณํ-๋งคํ(์ฐ๊ฒฐ) ์ ๋๋ก ์ง์ญํ ์ ์๊ฒ ๋ค. ORM์ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํ๋ ์ญํ ์ ํ๋ค. ORM์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋ ์กฐ์ํ ์ ์๊ณ , SQL์ ์ฌ์ฉํ์ง ์์ ์ ์๋ค. ๋๋ถ๋ถ์ ORM์ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฅผ ์ง์ํ๋ฉฐ ๋น๊ต์ ์ ์ ๋ ธ๋ ฅ์ผ๋ก DB๋ฅผ ์ ํํ ์ ์๋๋ก ์ง์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ์ ์ธ DB์ ๋ณด๋ฅผ ์ ๊ณตํจ์ผ๋ก DB์ ์ฐ๊ฒฐ์ ORM์๊ฒ ๋งก๊ธธ ์ ์๋ค.
์๋ฌด๋๋ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ค๋ ์ ์ด๋ค. SQL๋ฌธ์ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ค๋ฉด application ์ฐจ์๊ณผ DB์ฐจ์์ ์ฌ๊ณ ๋ฐฉ์์ ์ค๊ฐ๋ฉฐ ์์ ํด์ผ ํ์ง๋ง application ๊ด์ (๊ฐ์ฒด์งํฅ)์ ์ ์งํ๋ฉฐ ๊ฐ๋ฐํ ์ ์๋ค๋ ๊ฒ์ด ํฐ ์ฅ์ ์ด๋ค.
๋ฌผ๋ก ORM์ด ๋ง๋ฒ์ ๋๊ตฌ๋ ์๋๊ธฐ ๋๋ฌธ์ ๋จ์ ๋ ์๋ค. ๋ณต์กํ๊ณ ๊ท๋ชจ๊ฐ ํฐ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ORM์ ํตํ๊ฒ ๋๋ฉด ์ฑ๋ฅ์ ์ผ๋ก ์ํด๋ฅผ ๋ณผ ์ ์๋ค. ORM์ ํตํด SQL์ ์์ฑํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ง์ SQL์ ์ธ์ธํ๊ฒ ์์ฑํ๋ ๊ฒ์ ๋นํด์ ํจ์จ์ ์ด์ง ์์ ์๋ ์๋ค.
JPA(Jakarta Persistence API)
Jakarta(Oracle์ด java์ ๋ํ ์์ ๊ถ์ ๊ฐ์ง๊ฒ ๋๋ฉด์ Jakarta๋ก ๋ณ๊ฒฝ๋์๋ค.) Persistence API์ ์ค์๋ง์ด๋ค. ORM ์ค์ ํ๋๋ก Java๋ฅผ ํตํด์ RDB ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ์ ์ด๋ค. ORM์ ์ฅ์ ์ค์ ํ๋์ธ RDB์ OOP๊ฐ์ ํจ๋ฌ๋ค์ ๋ถ์ผ์น๋ฅผ ํด์ํ ์ ์๊ฒ ํด์ค๋ค. JPA๋
Jakarta EE
Entity
Last updated