๐๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด์๐
MyBatis์ JPA
Java๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ORM ํ๋ ์์ํฌ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ฐ ๋งคํ์ ๋จ์ํ ํ๋ ๊ฒ์ ์ง์ํ๋ ํ๋ ์์ํฌ
MyBatis
SQL Mapper(XML) ๊ธฐ๋ฐ์ ORM ํ๋ ์์ํฌ
- ๊ฐ๋ฐ์๊ฐ ์ง์ SQL ์ฟผ๋ฆฌ ์์ฑ, SQL ์ฟผ๋ฆฌ ์ง์ ์ ์ด ๊ฐ๋ฅ
- ์ธ๋ฐํ SQL ํ๋๊ณผ ์ฑ๋ฅ ์ต์ ํ์ ์ ๋ฆฌ
JPA(Java Persistence API)
์๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๊ธฐ ์ํ API
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ๋งคํ์ ์ง์ํ๊ณ , ORM์ ๊ตฌํํ ๊ธฐ์
- Java์์ ์ ๊ณตํ๋ ORM ํ์ค ์ธํฐํ์ด์ค
- ๊ฐ๋ฐ์๊ฐ SQL ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ง ์๊ณ JPA์์ ์ ๊ณตํ๋ API(EntityManager)๋ฅผ ์ฌ์ฉํด DB์ ์ํธ์์ฉํ์ฌ ๊ฐ์ฒด๊ฐ ์๋ ๋งคํ์ ์ง์ํด์ฃผ๋ ๊ธฐ๋ฅ ์ ๊ณต
- ๊ฐ์ฒด์งํฅ ๊ด์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์์
- ๊ฐ๋ฐ ์์ฐ์ฑ๊ณผ ์ ์ง๋ณด์ ์ธก๋ฉด์์ ์ ๋ฆฌ
ORM(Object-Relational Mapping)
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ๊ณผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ์ ๋งคํ์ ์๋ํ ํ๋ ๊ธฐ์
๊ฐ๋ฐ์๊ฐ ์ง์ DB ์กฐ์ํ์ง ์๊ณ ORM ํ๋ ์์ํฌ๊ฐ ์๋์ผ๋ก ๊ฐ์ฒด์ ํ
์ด๋ธ ๋งคํ ์์
์ํ
JPA์์ ์์์ฑ ์ปจํ
์คํธ๋?
- ์ํฐํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์์ญ์ผ๋ก, ์ํฐํฐ์ ์ํ ์ถ์ ๋ฅผ ์ถ์ ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๊ด์ฑ ์ ์ง
- ์ํฐํฐ ๋ณ๊ฒฝ์ ๊ฐ์งํ์ฌ SQL์ ์์ฑ ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์