๋๋ณด๊ธฐ
๐ก JPA์์ ๊ฐ์ฅ ์ค์ํ 2๊ฐ์ง
- ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋งคํํ๊ธฐ
- ์์์ฑ ์ปจํ์คํธ
์์์ฑ ์ปจํ ์คํธ
์ํฐํฐ ๋งค๋์ ํฉํ ๋ฆฌ์ ์ํฐํฐ ๋งค๋์
- EntityManagerFactory๋ฅผ ํตํด์ ๊ณ ๊ฐ์ ์์ฒญ์ด์ฌ๋๋ง๋ค EntityManager๋ฅผ ์์ฑํ๋ค.
- Entity ๋งค๋์ ๋ ๋ด๋ถ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅ์ ์ผ๋ก๋๋น๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค.
์์์ฑ ์ปจํ ์คํธ
- JPA๋ฅผ ์ดํดํ๋๋ฐ ๊ฐ์ฅ ์ค์ํ ์ฉ์ด
- “์ํฐํฐ๋ฅผ ์๊ตฌ ์ ์ฅํ๋ ํ๊ฒฝ” ์ด๋ผ๋ ๋ป
- ๋น์์(new/transient)
- ์์์ฑ ์ปจํ
์คํธ์ ์ ํ ๊ด๊ณ๊ฐ ์๋ ์๋ก์ด ์ํ
- ๊ฐ์ฒด๋ฅผ ์์ฑ๋ง ํ ์ํ(์ ํ ๋ง ํ ์ํ)
- JPA์ ๊ด๋ จ์์
- ์์์ฑ ์ปจํ
์คํธ์ ์ ํ ๊ด๊ณ๊ฐ ์๋ ์๋ก์ด ์ํ
- ์์(managed)
- ์์์ฑ ์ปจํ
์คํธ์ ๊ด๋ฆฌ๋๋ ์ํ
- ์ํฐํฐ๋งค๋์ ์์๋ ์์ ์ปจํ ์คํธ๊ฐ ์๋ค.
- em.persist(๊ฐ์ฒด)
- ์์์ํ๊ฐ ๋๋ค๊ณ ํด์ DB์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ค.
- ํธ๋์ญ์ ์ commit ํ๋ ์์ ์ ์ฟผ๋ฆฌ๊ฐ ์คํ๋๋ค.
- ์์์ฑ ์ปจํ
์คํธ์ ๊ด๋ฆฌ๋๋ ์ํ
- ์ค์์(detached)
- ์์์ฑ ์ปจํ
์คํธ์ ์ ์ฅ๋์๋ค๊ฐ ๋ถ๋ฆฌ๋ ์ํ
- em.detach(๊ฐ์ฒด)
- ์์์ฑ ์ปจํ
์คํธ์ ์ ์ฅ๋์๋ค๊ฐ ๋ถ๋ฆฌ๋ ์ํ
- ์ญ์ (removed)
- ์ญ์ ๋ ์ํ
- em.remove(๊ฐ์ฒด)
- ์ญ์ ๋ ์ํ
์ ์ด๋ฐ ๋งค์ปค๋์ฆ์ผ๊น?
์ ํ๋ฆฌ์ผ์ด์ ๊ณผ DB์ฌ์ด์ ๋ฌด์ธ๊ฐ ์๋ค.!!
์ค๊ฐ์ ๋ฌด์ธ๊ฐ ์์ผ๋ฉด ์ด์ ๋ค์ ๋๋ฆด ์ ์๋ค.
'DB > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ์ฒด์ ํ ์ด๋ธ ๋งคํ (0) | 2022.12.30 |
---|---|
์ค์์ ์ํ (0) | 2022.12.30 |
ํ๋ฌ์ (1) | 2022.12.30 |
์์์ฑ ์ปจํ ์คํธ 2 (0) | 2022.12.30 |
JPA - ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ (0) | 2022.12.30 |