ํ์๊ฐ ๋ฐฐ์ด ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์ ํจ์ ์์๋ฅผ ๋์ผ๋ ๋น์ ์ ์ธ ํํ์ด ๋ง๊ณ ๊ฐ๋
์ ์ ์ํจ์ ์์ด์ ์ ์์ ์ธ ์ ์๊ฐ ์๋์ ์ธ์ํด์ฃผ์์ผ๋ฉดํ๋ค.
ํผ๋๋ฐฑ ์ ๋ํ์!!!
Object๋ฅผ DB์ ๋งคํ์ํจ๋ค๋๊ฒ ๋ฌด์จ ๋ป์ผ๊น?
์๋ฐ ํ๋ก๊ทธ๋จ์ ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅ์ํค๋ ค๋ฉด DB์ ํ
์ด๋ธ์ด ์์ฑ๋ผ์์ด์ผ ํ ๊ฒ์ด๋ค.
๊ทผ๋ฐ, ์ฐ๋ฆฌ๋ ์๋ฐ ํ๋ก๊ทธ๋จ ์์์ DB์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ํ๊ณ ์ถ๋ค.
๋ง์ฝ ํ์์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ํ์ํ ํ์ Entity๋ฅผ ๋ง๋ ๋ค๊ณ ํ์.
์๋ฐ์ DB๊ฐ ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ ํ
๋ฐ ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ด ํ์ํ๋ค.
- DB์๊ฒ Connection ์์ฒญ, DB๊ฐ ์ ๋ถ์ ํ์ธํ๊ณ ์ธ์ ์คํ -> Connection ์๋ฃ
- ์ฟผ๋ฆฌ ์ ์ก(Select, Update๋ฑ), DB๋ table์์ ๋ฐ์ดํฐ ์ถ์ถ
- ์๋ฐ๋ ํด๋น ๋ฐ์ดํฐ ๋ฐ์์ ์๋ฐ์ Object๋ก ๋ณํ(DB์ ์๋ฐ์ ๋ฐ์ดํฐ ํ์ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ)
์๋ฐ์ DB๊ฐ ์ ์ํ๋ ๋ฐ์ดํฐ ํ์ ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ๋ง(2D ์ค๊ณ๋๋ฅผ 3D ์ค์ ๊ฑด๋ฌผ๋ก ๊ตฌํํ๋ ๊ฒ์ฒ๋ผ)์ ํด์ค์ผ ํ๋ค.
์๋ฐ Class๋ก ์ง๋ณธ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋จํ ์งค ์ ์๋ค.
Class User{
String name;
int age;
์ค์ ํ๋ก๊ทธ๋จ์ ์ง ๋ค๋ฉด
1. DB ํ
์ด๋ธ์ ์์ฑ
2. ์๋ฐ ํด๋์ค๋ก ๊ตฌํ
์ฆ, DB์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฐ ์ธ์์ ๋ชจ๋ธ๋งํ๋ค.
๊ทธ๋ฌ๋ ORM์ ์ด์ฉํ๋ฉด 1๊ณผ 2์ ์์๊ฐ ๋ฐ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ง ์๋ฐ ํด๋์ค๋ฅผ DB์ ๋ชจ๋ธ๋ง ํ ์ ์๋ค.
์ฆ, ์๋ฐ ํ๋ก๊ทธ๋จ์ ํตํด Entity๋ฅผ ๋ชจ๋ธ๋งํ ์ ์๋ค.
์ด ORM ๋ฐฉ๋ฒ๋ก ์ ์ด์ฉํ ์ ์๋๊ฒ ๋ฐ๋ก ์์ ์๊ฐํ๋ JPA์ด๋ค.