JPA๋?
Last updated
Last updated
H2๋ ์๋ฐ ๊ธฐ๋ฐ์ RDBMS์ด๋ค. Browser console ์ง์, ์ ์ฉ๋(2MB), JDBC API ์ง์ ๋ฑ ๋ค์ํ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค. ์ต์ํ์ ๋ฆฌ์์ค๋ก ์คํ ๊ฐ๋ฅํ ๊ฒฝ๋ DB๋ก์ ํ ์คํธ์ฉ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์๋ง์ DB์ด๋ค.
JPA(Java Persistence API)๋ ํ์ฌ ORM(Object Relational Mapping)์ ๊ธฐ์ ํ์ค์ผ๋ก, ์ธํฐํ์ด์ค ๋ชจ์์ด๋ค. ์ฆ, ORM์ ์ฌ์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ๋ชจ์๋ ๊ฒ์ด๋ผ ๋ณผ ์ ์๋ค. ORM์ ๋ํ ์๋ฐ API ๊ท๊ฒฉ์ด๋ฉฐ Hibernate, OpenJPA ๋ฑ์ด JPA๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด์ด๋ค.
JPA๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ JPA๋ฅผ ๊ตฌํํ ORM ํ๋ ์์ํฌ ์ค ํ๋์ด๋ค. Hibernate๋ JPA ๋ช
์ธ์ ๊ตฌํ์ฒด๋ก, javax.persistence.EntityManager
์ ๊ฐ์ JPA์ ์ธํฐํ์ด์ค๋ฅผ ์ง์ ๊ตฌํํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
Spring Data JPA๋ JPA๋ฅผ ์ฐ๊ธฐ ํธํ๊ฒ ๋ง๋ค์ด ๋์ ๋ชจ๋๋ก ๊ฐ๋ฐ์๊ฐ JPA๋ฅผ ๋ ์ฝ๊ณ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ค๋ค. ์ด๋ JPA๋ฅผ ํ๋จ๊ณ ์ถ์ํ ์ํจ Repository๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ์ด๋ฃจ์ด์ง๋ค. ์ฌ์ฉ์๊ฐ Repository ์ธํฐํ์ด์ค์ ์ ํด์ง ๊ท์น๋๋ก ๋ฉ์๋๋ฅผ ์ ๋ ฅํ๋ฉด, Spring์ด ์์์ ํด๋น ๋ฉ์๋ ์ด๋ฆ์ ์ ํฉํ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๋ ๊ตฌํ์ฒด๋ฅผ ๋ง๋ค์ด Bean์ผ๋ก ๋ฑ๋กํด์ค๋ค.
๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก h2 database์ jpa๋ฅผ ์ฌ์ฉํ ์ค๋น๊ฐ ๋ค ๋์๋ค.