์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋ฌธ์์ด
- ์คํ
- stream
- ์
- ์ฐ
- ๋ฐฑ์ค9012
- StringBuffer
- ์ฟ ํกERD
- ์๋ฐ
- ์คํธ๋ฆผ
- ์คํ์์ด
- ๋ฐฑ์ค9093
- ๋
- ์ฟ ํกDB
- java
- ๋ฐฐ์ด
- StringBuilder
- ๋ฐฑ์ค1874
- ํ๋ฐฉ์ฟผ๋ฆฌ
- ๋ฐ์ดํฐํ์
- ๋ฐฑ์ค11053 #ํ์ด์ฌ #python
- ์ฐ์ฐ์
- Today
- Total
Tech Log ๐ ๏ธ
[jpa] ๋ค์ํ ์ฐ๊ด๊ด๊ณ ๋งตํ ์ ๋ฆฌ ๋ณธ๋ฌธ
์ฐ๊ด๊ด๊ณ ๋งตํ ์ ๊ณ ๋ คํด์ผ ํ 3๊ฐ์ง
1. ๋ค์ค์ฑ
ex) ๋ค๋์ผ , ์ผ๋์ผ
2. ๋จ๋ฐฉํฅ , ์๋ฐฉํฅ
- ํ ์ด๋ธ์ ์ธ๋ํค ํ๋๋ก ์์ชฝ ์กฐ์ธ์ด ๊ฐ๋ฅํ์ง๋ง , ๊ฐ์ฒด๋ ์ฐธ์กฐ์ฉ ํ๋๊ฐ ์๋ ๊ณณ์ผ๋ก๋ง ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋ฐ๋ผ์ ์๋ฐฉํฅ ๊ด๊ณ๋ผ๋ ๊ฒ์ ์ฐธ์กฐ์ฉ ํ๋๊ฐ ์์ชฝ ๋ชจ๋ ์๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
3. ์ฐ๊ด ๊ด๊ณ์ ์ฃผ์ธ
- ๊ฐ์ฒด๋ ํ ์ด๋ธ๊ณผ ๋ฌ๋ฆฌ ์ฐธ์กฐ๊ฐ ๋ ๊ตฐ๋ฐ์์ ๋ง๋ค์ด ์๋ฐฉํฅ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ค.
- ์ฐธ์กฐ์ฉ ํ๋๊ฐ ์์ชฝ์ ์๋ ์๋ฐฉํฅ ๊ด๊ณ์์ ์ธ๋ํค๋ฅผ ๊ด๋ฆฌํ "์ฐ๊ด ๊ด๊ณ์ ์ฃผ์ธ"์ด ํ์ํ๋ค.
a. ์ฐ๊ด ๊ด๊ณ์ ์ฃผ์ธ
- ์ธ๋ํค๋ฅผ ๊ด๋ฆฌํ๋ค.
b. ์ฃผ์ธ์ ๋ฐ๋ํธ
- ์ธ๋ํค์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋จ์ ์กฐํ๋ง ๊ฐ๋ฅํ๋ค !!
์ฐ๊ด ๊ด๊ณ์ ์ข ๋ฅ
1. ๋ค๋์ผ [n:1]
- ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
1-1 . ๋ค๋์ผ ์๋ฐฉํฅ
- ์ธ๋ํค๊ฐ ์๋ ์ชฝ์ด ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ์ด๋ค.
2. ์ผ๋๋ค [1:n]
- ์ผ๋๋ค ๊ด๊ณ์์๋ '1' ์ด ์ฐ๊ด ๊ด๊ณ์ ์ฃผ์ธ์ด์ง๋ง ํ ์ด๋ธ์์๋ n์ด ์ธ๋ํค๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ์ฃผ์ธ์ด ๋ฐ๋ํธ
ํ ์ด๋ธ์ ์ธ๋ํค๋ฅผ ๊ด๋ฆฌํ๋ ํน์ดํ ๊ตฌ์กฐ๊ฐ ๋๋ค.
- ๋ฐ๋ผ์ ์์น์์ sql๋ฌธ์ด ๋ฐ์ํ ์ ์๋ค. (๋ณต์กํ ์ค๋ฌด์์ ์ด์์ด ๋งค์ฐ ํ๋ค์ด์ง๋ค.)
- ์ด๋ฌํ ํน์ฑ๋๋ฌธ์ ์ผ๋๋ค๋ณด๋ค๋ ๊ฐ์ฒด์งํฅ ์ค๊ณ์ ์กฐ๊ธ ์ํด๋ฅผ ๋ณด๋๋ผ๋ ๋ค๋์ผ ์๋ฐฉํฅ ๊ด๊ณ๋ก ํ๋ ๊ฒ์ด ์ข๋ค !
- @JoinClumn์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์กฐ์ธํ ์ด๋ธ(์ค๊ฐํ ์ด๋ธ) ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
2.1 ์ผ๋๋ค ์๋ฐฉํฅ
- ๊ณต์์ ์ผ๋ก ์กด์ฌํ์ง ์์ง๋ง ์ฝ๊ธฐ ์ ์ฉ ํ๋๋ฅผ ์ฌ์ฉํด์ ๋ง๋ค ์ ์๋ค.
@JoinColumn(insertable=false, updatable=false)
- ์ฌ๋งํ๋ฉด ๋ค๋์ผ ์๋ฐฉํฅ ๊ด๊ณ๋ฅผ ์ฌ์ฉํ์ !
3. ์ผ๋์ผ [1:1]
- ์ผ๋์ผ ๊ด๊ณ์ ๋ฐ๋๋ ์ผ๋์ผ์ด๋ค.
- ์ฃผ ํ ์ด๋ธ์ด๋ ๋์ ํ ์ด๋ธ์ ์ธ๋ํค๋ฅผ ์ ํํ ์ ์๋ค.
3-1. ์ผ๋์ผ ์ฃผ ํ ์ด๋ธ ์ธ๋ํค ๋จ๋ฐฉํฅ
- ๋ค๋์ผ ๋จ๋ฐฉํฅ ๋งตํ๊ณผ ์ ์ฌํ๋ค
3-2. ์ผ๋์ผ ์ฃผ ํ ์ด๋ธ ์ธ๋ํค ์๋ฐฉํฅ
- ์ธ๋ํค๊ฐ ์๋ ๊ณณ์ด ์ฐ๊ด ๊ด๊ณ์ ์ฃผ์ธ์ด๋ค.
- jpa๋งตํ์ด ํธ๋ฆฌํ์ง๋ง ์ธ๋ํค์ null์ ํ์ฉํด์ผํ๋ค.
3-3. ์ผ๋์ผ ๋์ ํ ์ด๋ธ ์ธ๋ํค ๋จ๋ฐฉํฅ
- jpa์์ ์ง์ํ์ง ์๋๋ค.
3-4. ์ผ๋์ผ ๋์ ํ
์ด๋ธ ์ธ๋ํค ์๋ฐฉํฅ
- 3-2๊ณผ ๋งตํ ๋ฐฉ๋ฒ์ด ๊ฐ๋ค.
- ํ
์ด๋ธ ๊ด๊ณ๋ฅผ ๋ณ๊ฒฝํด๋ ํ
์ด๋ธ์ ์ ์งํ ์ ์์ง๋ง , ํญ์ ์ฆ์ ๋ก๋ฉ์ด ๋๋ค.(ํ๋ก์ ๊ธฐ๋ฅ์ ํ๊ณ)
4. ๋ค๋๋ค [n:n]
- ๊ด๊ณํ DB๋ ํ ์ด๋ธ ๋๊ฐ๋ก ๋ค๋๋ค ๊ด๊ณ๋ฅผ ํํํ ์ ์์ง๋ง ๊ฐ์ฒด๋ ์ปฌ๋ ์ ์ ์ฌ์ฉํด์ ๋ค๋๋ค ๊ด๊ณ๊ฐ ๊ฐ๋ฅํ๋ค.
- ํ์ง๋ง ๋ค๋๋ค ๋งตํ์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋ถ๊ฐ ์ ๋ณด๋ค์ด ์ฐ๊ฒฐ ํ ์ด๋ธ์ ๋ค์ด์ฌ ์ ์๊ธฐ ๋๋ฌธ์ ์ค๋ฌด์์ ๋ถ์ ํฉํ๋ค.
- ์ค๊ฐ ํ ์ด๋ธ์ด ์จ๊ฒจ์ ธ ์๊ธฐ ๋๋ฌธ์ ์์์น ๋ชปํ ์ฟผ๋ฆฌ๊ฐ ๋ฐ์ํ๋ค.
- ์ฌ์ฉํ์ง ๋ง์ !!
4.1. ๋ค๋๋ค ๊ด๊ณ์ ๋์
- ์ฐ๊ฒฐ ํ ์ด๋ธ์ ์ํฐํฐ๋ก ์น๊ฒฉํ๊ณ ๋ค๋๋ค๋ฅผ ๋ค๋์ผ,์ผ๋๋ค๋ก ๋ฐ๊ฟ์ ๋ณ๊ฒฝํ๋ค.
- ์ด๋ ๊ฒํ๋ฉด ์ฐ๊ฒฐํ ์ด๋ธ์ ์ฌ๋ฌ ์ ๋ณด๋ค์ ๋ฃ์ ์ ์๋ค.
'jpa' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[jpa] ์ปฌ๋ ์ ์กฐํ ์ต์ ํ - 1 (0) | 2023.02.27 |
---|---|
[jpa] ์ง์ฐ๋ก๋ฉ๊ณผ ์กฐํ ์ฑ๋ฅ ์ต์ ํ (0) | 2023.02.25 |
์์๊ด๊ณ ๋งคํ ์ ๋ต ์ข ๋ฅ ๋ฐ ์ ํ๊ฐ์ด๋ (0) | 2022.02.27 |
๊ธฐ๋ณธ ํค ๋งตํ (0) | 2022.02.27 |
flush() ๊ฐ๋ (0) | 2022.02.27 |