1. JPA๋?
2. JPA์ ์ฅ๋จ์
3. JPA ๋์๋ฐฉ์
4. ํ์ผ ๊ตฌ์กฐ
5. ์ค์ต
1. JPA
์๋ฐ์์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ ์ํ ์ธํฐํ์ด์ค
..์๋ต
3. JPA ๋์๋ฐฉ์
์ํฐํฐ
: ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋์ํ๋ ํด๋์ค
@Entity ์ด๋ ธํ ์ด์ ์ด ๋ถ์ ํด๋์ค๋ JPA์์ ๊ด๋ฆฌํ๋ฉฐ, ์ํฐํฐ๋ผ๊ณ ํจ
์ํฐํฐ ๋งค๋์ ํฉํ ๋ฆฌ
: ์ํฐํฐ ๋งค๋์ ์ธ์คํด์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ฃผ์ฒด๋ก ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ ํ ๊ฐ๋ง ๋ง๋ค์ด์ง,
-> ์ฌ์ฉ์๋ก๋ถํฐ ์์ฒญ์ด ์ค๋ฉด ์ํฐํฐ ๋งค๋์ ๋ฅผ ์์ฑํจ
์ํฐํฐ ๋งค๋์
: *์์์ฑ ์ปจํ ์คํธ์ ์ ๊ทผํด ์ํฐํฐ์ ๋ํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์์ ์ ์ ๊ณตํจ
๋ด๋ถ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅ์ ์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํจ
(๋ํ์ ์ธ ๋ฉ์๋
-> find()
-> persist() : ์ํฐํฐ๋ฅผ ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ
-> remove()
-> flush()
*์์์ฑ ์ปจํ ์คํธ
: ์ํฐํฐ๋ฅผ ์๊ตฌ ์ ์ฅํ๋ ํ๊ฒฝ
์ํฐํฐ ๋งค๋์ ๋ฅผ ํตํด ์์์ฑ ์ปจํ ์คํธ์ ์ ๊ทผํจ
4. ํ์ผ ๊ตฌ์กฐ
์ปจํธ๋กค๋ฌ : ์น MVC์ ์ปจํธ๋กค๋ฌ ์ญํ
์๋น์ค : ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ
๋ฆฌํฌ์งํ ๋ฆฌ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผ, ๋๋ฉ์ธ ๊ฐ์ฒด๋ฅผ DB์ ์ ์ฅํ๊ณ ๊ด๋ฆฌ
๋๋ฉ์ธ : ๋น์ฆ๋์ค ๋๋ฉ์ธ ๊ฐ์ฒด
5. ์ค์ต
dto, entity, repository
๋ชฉํ : ํ์๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด ํ์ํ ์์๋ค์ ์ค๊ณํด ํ ์คํธ ํด๋ณด์ .
1. ํ์๊ฐ์ ์ ํ๋ฉด์์ ๋์ด์ค๋ ์ ๋ณด๋ฅผ ๋ฐ์ MemebrFormDto ์์ฑ
2. MemberFormDto๋ก๋ถํฐ ์ ๋ณด๋ฅผ ๋๊ฒจ๋ฐ์ Member ์ํฐํฐ ์์ฑ
3. Member ์ํฐํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ธฐ ์ํ MemberRepository ์์ฑ
4. ํ์๊ฐ์ ๊ธฐ๋ฅ ํ ์คํธ ํ๊ธฐ
MemberFormDto ์ค๊ณ
Dto : ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฐ์ฒด
: ๋ก์ง์ ๊ฐ์ง์ง ์๋ ์์ํ ๋ฐ์ดํฐ ๊ฐ์ฒด (getter & setter ๋ง ๊ฐ์ง ํด๋์ค)
(entity๋ก ๋ฐ๋ก ๊ฐ ์ ์๋ ๋ฐ ์ Dto๊ฐ ์๋ ๊ฒ์ด๋ ? : ํ๋ฉด์์ ์๊ตฌํ๋ ๊ฑฐ๋ ์ํฐํฐ ๊ตฌ์ฑ์ด๋ ๋ค๋ฅผ ์ ๋์์์!)
: ํ์๊ฐ์ ํ๋ฉด์ผ๋ก๋ถํฐ ๋์ด์ค๋ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ด์ MemberFormDto๋ฅผ ๋จผ์ ์ค๊ณํด๋ด ์๋ค.
ํ์์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ํ ๋ฉค๋ฒ ๋ณ์๋ค ์๊ฐํด๋ณด๊ธฐ
Member ์ํฐํฐ ์ค๊ณ
- Member ์ํฐํฐ ์์ฑ ๋ฉ์๋ ๋ง๋ค๊ธฐ
ํ์์ ์์ฑํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค์ด ๊ด๋ฆฌ
-> ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ํ๊ตฐ๋ฐ๋ง ์์ ํ๋ฉด ๋จ
MemberRepository
1. repository ํจํค์ง ์์ฑ
2. MemberRepository ์ธํฐํ์ด์ค ์์ฑ
3. *JpaRepository ์์๋ฐ๊ธฐ
*JpaRepository๋ 2๊ฐ์ ์ ๋ค๋ฆญ ํ์ ์ ์ฌ์ฉํฉ๋๋ค.
<์ํฐํฐ ํ์ ํด๋์ค, ๊ธฐ๋ณธํค ํ์ > ํํ๋ก ์ค์ ํด์ค๋๋ค.
MemberRepositoryTest
์๋ฌ๊ฐ ๋ฌ๋ค. ?
์ค์ ์ ๋ค์ด๊ฐ์
gradle-> intellij ๋ก ๋ฐ๊ฟ๋ณด์๊ธธ
ํ ์คํธ ์ฑ๊ณต์ ,
'๐ฆ๋ฉ์์ด ์ฌ์์ฒ๋ผ 11๊ธฐ > ๋ฐฑ์๋ ์ ๊ธฐ์ธ์ ์ถ๊ฐํ์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SESSION 16 ์ฃผ๋ฌธ pt.2 ์ฃผ๋ฌธ ์ด๋ ฅ ์กฐํ ๋ฐ ์ฃผ๋ฌธ ์ทจ์ (0) | 2023.05.20 |
---|---|
[SESSION10] - Database TIL (0) | 2023.04.30 |
[TIL] ์น๊ณผ ์๋ฒ, Springboot ์น๊ฐ๋ฐ ๊ธฐ์ด (0) | 2023.03.27 |
[TIL] ์๋ฐ์ ์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค์ ๋ํ์ฌ (0) | 2023.03.26 |
[TIL] ์๋ฐ์ ์์์ ๋ํ์ฌ (0) | 2023.03.26 |