JDBC(Java Database Connectivity)
์ฒด์ค ๊ณผ์ (1) - ํ
์ด๋ธ ์์ฑ
์ฒด์ค ๊ณผ์ (2) - Connection ์ค์
์ฒด์ค ๊ณผ์ (3) - ๋ฐ์ดํฐ ์ฝ์
JDBC๋ DB์ ๊ณ ์ ํ ํน์ง์ ๋ชฐ๋ผ๋ ์ ๊ทผํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ์ ํจ.
JPA(Java Persistent API)
JPA์ ์ฅ์
(1) SQL ๋ฌธ์ ์ง์ Java Appliction ๋ด์์ ์ ์ ๊ฒฝ์ฐ๊ฐ ์ ์ด์ง๋ค.
(2) SQL ๊ตฌ์กฐ๋ฅผ Java Appliction ๋ด์์ ์ ์ฉํ์ง ์์๋ ๋๋ค.
JOIN ์ฟผ๋ฆฌ๋ฅผ JPA์์ ์๋์ผ๋ก ๋ง๋ค์ด ์ค๋ค.
JDBC(Java Database Connectivity)์ JPA(Java Persistence API)๋ Java ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ ์์ฉํ๋ ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฐ์ดํฐ ์ก์ธ์ค ๊ธฐ์ ์ ๋๋ค. ๊ฐ๋จํ๊ฒ ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค:
JDBC (Java Database Connectivity)
Low-Level API: JDBC๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ, SQL ์ฟผ๋ฆฌ ์คํ ๋ฐ ๊ฒฐ๊ณผ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ ์์ค API๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ SQL ์ฟผ๋ฆฌ๋ฅผ ์ง์ ์์ฑํ๊ณ ์คํํด์ผ ํฉ๋๋ค.
๋ช ์์ ์ธ SQL: JDBC๋ฅผ ์ฌ์ฉํ ๋ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ช ์์ ์ผ๋ก ์์ฑํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํธ ์์ฉ์ ์ง์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ข ์์ : JDBC ์ฝ๋๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ์์ ์ด๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง๋ค ๋ค๋ฅธ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
JPA (Java Persistence API)
High-Level API: JPA๋ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋งคํ ๋ฐ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ๋ ์ถ์ํ๋ ๊ณ ์์ค API๋ก ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฐ์๊ฐ ๊ฐ์ฒด ์งํฅ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์์ต๋๋ค.
ORM (Object-Relational Mapping): JPA๋ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ๊ฐ์ ๋งคํ์ ์ ๊ณตํ๋ฉฐ, SQL ์ฟผ๋ฆฌ ๋์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ๋ฆฝ์ : JPA๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ข ์์ฑ์ ๋ฎ์ถ๊ณ , ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๊ณผ ํธํ๋ฉ๋๋ค.
๊ฐ๋จํ ๋งํด, JDBC๋ ๋ ์ ์์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค๋ฅผ ์ํ API๋ก ๊ฐ๋ฐ์๊ฐ ์ง์ SQL์ ์์ฑํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ฉฐ, JPA๋ ๋ ๊ฐ์ฒด ์งํฅ์ ์ด๊ณ ์ถ์ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ ์์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ณ ์์ค API์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ข ์์ฑ ๋ฐ ์ฝ๋ ์์ฐ์ฑ ์ธก๋ฉด์์ JPA๊ฐ ์ ๋ฆฌํ๋ฉฐ, ๊ฐ์ฒด ๊ด๊ณ ๋งคํ(ORM)์ ํตํด ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.