ํฐ์คํ ๋ฆฌ ๋ทฐ
๐JPA(Java Persistence API)๋?
JPA๋ ์๋ฐ **ORM(Object Relational Mapping) ๊ธฐ์ ์ ๋ํ API ํ์ค ๋ช ์ธ(์ฆ,์ธํฐํ์ด์ค)**๋ฅผ ๋ปํ๋ค.
์์์ ๋งํ๋ ORM (Object Relationship Mapping) ๊ธฐ์ ์ด๋?
ORM ๊ธฐ์ ์ ๋ง ๊ทธ๋๋ก ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ๋งคํํด ์ฃผ๋ ๊ธฐ์ ์ด๋ค.
๊ฐ์ฒด๋ ๊ฐ์ฒด๋๋ก, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋๋ก ์ค๊ณํ๊ณ , ORM ํ๋ ์์ํฌ๊ฐ ์ค๊ฐ์์ ๋งคํ์ ํด์ค๋ค.
๋ค์ ์ ๋ฆฌํ๋ฉด, JPA๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ORM์ ์ฌ์ฉํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ ๋ชจ์์ด๋ค.
์ด๋ฌํ JPA๋ ์ธํฐํ์ด์ค์ ๋ชจ์, ๋จ์ํ ๋ช ์ธ์ด๊ธฐ ๋๋ฌธ์ ๊ตฌํ์ด ์๋ค. ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง ์ ์ํ๋ ํ๋์ ๋ฐฉ๋ฒ์ผ ๋ฟ์ด๋ค.
๋ฐ๋ผ์ ์ด๋ฌํ JPA์ ๊ตฌํ์ฒด ์์ด์ผ JPA๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
์ฌ๋ด) ๋ฐฐ๋ฏผ, ์นด์นด์ค, ๋ค์ด๋ฒ ๋ฑ์ด JPA๋ฅผ ์ฌ์ฉ์ค์ด๋ผ๊ณ ํ๋ค.
JPA ๋์ ์๋ฆฌ
- ๊ฐ๋ฐ์๊ฐ JDBC API๋ฅผ ์ง์ ์ฐ๋ ๊ฒ ์๋๋ค. JPA๋ฅผ ์ฌ์ฉํ๋ ๊ฒ!
- DAO→JPA(JDBC API)→DB
์ฅ์ ๋จ์
CRUD์์ ์๋ต ⇒ ์๋์ผ๋ก SQL์ ๋ง๋ค์ด ์ค๋ค. | ์ด๋ ค์ |
์์์ฑ ์ปจํ ์คํธ ๊ฐ๊ณ ์๋ค. (DB ๊ฐ๊ณผ ์๋ฐ ๊ฐ์ ์ผ์นํ๊ฒ ํด์ค) | ๋ณต์กํ sql๋ฌธ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ํ๊ณ๊ฐ ์๋ค. |
OOP .. ์ฐ๊ด ๊ด๊ณ |
๐ Hibernate๋?
Hibernate๋ JPA๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด์ด๋ค.
๊ฐ๋ฐ๋ ์ง 10๋ ์ด ๋์์ผ๋ฉฐ ๋์ค์ ์ผ๋ก ๋ง์ด ์ด์ฉ๋๋ JPA ๊ตฌํ์ฒด ์ค ํ๋์ด๋ค.
JPA์ ํต์ฌ๋ค์ธ EntityManagerFactory, EntityManager, EntityTransaction ๋ฑ์ ์์๋ฐ์ ๊ตฌํํ๋ค.
JPA๋ฅผ ๊ตฌํํ๋ ๋ค๋ฅธ ๊ตฌํ์ฒด๋ค๋ก๋ EclipseLink๋ DataNucleus ๋ฑ์ด ์๋ค.
๐ Spring Data JPA๋?
Spring Data JPA๋ JPA๋ฅผ ์ฌ์ฉํ๊ธฐ ํธํ๋๋ก ๋ง๋ค์ด๋์ ๋ชจ๋์ด๋ค.
Spring Data JPA๋ JPA๋ฅผ ํ ๋จ๊ณ ๋ ์ถ์ํ์ํจ Repository ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค.
์ด๋ฌํ Spring Data JPA๋ Hibernate์ ๊ฐ์ JPA๊ตฌํ์ฒด๋ฅผ ์ฌ์ฉํด์ JPA๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
Spring Data JPA๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ๋์ฑ ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ง๋ค.
โ๏ธ ์ ๋ฆฌ
์ ๋ฆฌํ์๋ฉด, JPA๋ ์๋ฐ ์ง์์ ORM ๊ธฐ์ ์ ๋ํ API ํ์ค ๋ช ์ธ์ด๋ฉฐ
Hibernate๋ JPA์ ๊ตฌํ์ฒด์ด๊ณ , ๋ด๋ถ์ ์ผ๋ก JDBC๋ฅผ ์ด์ฉํ๋ค.
Spring Data JPA๋ JPA๋ฅผ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ์คํ๋ง์์ ์ ๊ณตํ๋ ๋ชจ๋๋ก ๋ด๋ถ์ ์ผ๋ก JPA ๊ตฌํ์ฒด๋ฅผ ์ด์ฉํ๋ค.
์ถ์ฒ:
https://code-lab1.tistory.com/288
[์ฝ๋ ์ฐ๊ตฌ์:ํฐ์คํ ๋ฆฌ]
'Spring Boot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Boot]JPA ์ฐ๊ด๊ด๊ณ (0) | 2024.08.20 |
---|---|
์นด์นด์ค๋งตAPI ํค์๋๋ก ์ฃผ์ ์ฐพ๊ธฐ ์ค๋ฅ ์ ๋ฆฌ (0) | 2024.08.12 |
- Total
- Today
- Yesterday
- ์๋ฐ์คํฌ๋ฆฝํธ
- ts
- ์ค๋ฒ๋ก๋ฉ
- ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ
- ํ๋ก๊ทธ๋๋จธ์ค
- props
- ํ๋ก์ ํธํ๊ณ ๋ก
- React
- create react app
- ์ฌ๊ทํจ์
- ReactJS
- overloading
- nomard
- ํ์ ์คํฌ๋ฆฝํธ
- ์ฑ๋ฆฐ์ง1์ผ์ฐจ
- Cleanup
- TypeScript
- await
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ค๋ธ์
- slice
- Async
- CLI
- ์นด์นด์ค๋ก๊ทธ์ธ
- NPM
- useEffect
- ๋ฆฌ์กํธ
- ๋ ธ๋ง๋
- splice
- useState
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |