- ์๋ฐ ORM ๊ธฐ์ ์ ๋ํ ํ์ค ๋ช ์ธ๋ก JAVA์์ ์ ๊ณตํ๋ API์ด๋ค.
- ์๋ฐ์์ RDBMS๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ ์ํ ์ธํฐํ์ด์ค์ด๋ค.
- JPA๋ ํน์ ๊ธฐ๋ฅ์ ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋ค.
- ๊ฐ์ฒด ์งํฅ ๋๋ฉ์ธ ๋ชจ๋ธ๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๊ฐ์ ๋ค๋ฆฌ ์ญํ .
- JAVA๊ฐ JDBC API์ ๋ช ๋ น์ ๋ด๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ, JPA๋ฅผ ์ฌ์ฉํ๋ฉด JPA๊ฐ JDBC API๋ฅผ ์ฌ์ฉํด์ DB์ ํต์ ํ๊ณ SQL์ ํธ์ถํ๊ณ ๋ฐํํจ.
- ์ ์ฅ ์, JPA๊ฐ Entity๋ฅผ ๋ถ์ํ๊ณ SQL ์์ฑ
- ๊ฐ๋ฐ์ด ํธ๋ฆฌ. ๊ธฐ๋ณธ์ ์ธ CRUD์ฉ SQL์ ์ง์ ์์ฑํ์ง ์์๋ ๋๋ค.
- DB ๋ ๋ฆฝ์ ์ธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅ. JPA๋ DB์ ์ข ์์ ์ด์ง ์์์ DB๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ JPA๊ฐ ํด๋น DB์ ๋ง๋ ์ฟผ๋ฆฌ๋ฅผ ์์์ ์์ฑ.
- ์ ์ง๋ณด์๊ฐ ์ฌ์. ํ ์ด๋ธ ๋ณ๊ฒฝ ์ JPA์ ์ํฐํฐ๋ง ์์ ํ๋ฉด ๋๋ค.
- ํ์ต์ด ์ด๋ ค์
- ํน์ DB ํจ์ ์ฌ์ฉ ๋ถ๊ฐ.
- ํ ์ด๋ธ์ ์ ์ด์ ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ์ค๊ณํด์ผ ํจ.
- ์ ๊ท ๊ฐ๋ฐ, ์ ๊ท ์ปฌ๋ผ ์ถ๊ฐ ์์ CRUD SQL์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํ๋ค.
- ๊ทธ๋ฌ๋ค ๋ณด๋, ์์ ์์ ์ด ๋ฐ๋ณต๋จ.
- ์ด์ ๋ฐ๋ผ, DB ์ค๊ณ๊ฐ ์ฐ์ ์๋์๊ณ , ๊ฐ์ฒด์งํฅ์ ์ฅ์ ์ ์ด๋ฆฌ์ง ์๊ณ ๋จ์ํ ๋ฐ์ดํฐ ์ ๋ฌ ๋ชฉ์ ์ผ๋ก๋ง ์ฌ์ฉ๋์๋ค.
- ์ด๋ฌํ DB ์ค์ฌ ์ค๊ณ์์ ๋ฒ์ด๋๊ธฐ ์ํด ๋ง์ ๋ ธ๋ ฅ์ ๊ฐํ์ผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๊ฐ์ฒด์ ํ ์ด๋ธ์ ๋งคํํด์ฃผ๋ ORM์ด ์ฃผ๋ชฉ ๋ฐ์.
- ์๋ฐ์์๋ JPA๋ผ๋ ํ์ค ์คํ์ ์ ์ํ๊ฒ ๋์๋ค.
- ๋ณดํต Primary Key๋ฅผ ๊ฐ์ง๋ ๋ณ์์ ์ ์ธํจ.
- ํด๋น Id๊ฐ์ ์ด๋ป๊ฒ ์๋์ผ๋ก ์์ฑํ ์ง ์ ๋ต์ ์ ํํ ์ ์์.
- ๋ณ๋์ ์ด๋ฆ์ ๊ฐ์ง DB ํ ์ด๋ธ๊ณผ ๋งคํํ ์ ์๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก @Entity๋ก ์ ์ธ๋ ํด๋์ค์ ์ด๋ฆ์ ์ค์ DB์ ํ ์ด๋ธ ๋ช ๊ณผ ์ผ์นํ๋ ๊ฒ์ ๋งคํํ๋ค.
- ๋ฐ๋ผ์, @Entity ํด๋์ค๋ช ๊ณผ DB์ ํ ์ด๋ธ๋ช ์ด ๋ค๋ฅด๋ฉด @Table(name = "Member") ๊ฐ์ ํ์์ผ๋ก ์์ฑํ๋ฉด ์ด๋ฆ์ ๋ค๋ฅด๊ฒ ํด์ ๋งคํ ๊ฐ๋ฅ.
- ํ์๋ ์๋.
- DB์ ์ปฌ๋ผ๋ช ์ ๋ค๋ฅด๊ฒ ์ฃผ๊ณ ์ถ๋ค๋ฉด @Column(name = "column")๊ฐ์ ํ์์ผ๋ก ์์ฑํจ.
- ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฉค๋ฒ ๋ณ์๋ช ๊ณผ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ปฌ๋ผ์ ๋งคํํจ.