
์ถ๊ตฌ ์์ ๋ก ERD ๊ทธ๋ฆฌ๊ณ ๋งคํํ๊ธฐ

์ถ๊ตฌ์ ์(์์) ใ ก๊ฐ ์ํด ์๋ ์ถ๊ตฌํ (๋ถ๋ชจ)
๋ฌด์์ด ๋ฌธ์ ์๋
- ID ํ์ ๋ถ์ผ์น
- Player ์ํฐํฐ์ ์๋ณ์: @Id Long id
Player.javaLines 18-20
- ๋ฆฌํฌ์งํ ๋ฆฌ ์ ๋ค๋ฆญ์ด String์ผ๋ก ๋์ด ์์ด ์ญ์ /์กฐํ ์ ํ์
์ถฉ๋
PlayerRepository.javaLines 8-10
- ์๋น์ค/์ปจํธ๋กค๋ฌ ๋ฉ์๋๋ String playerId๋ฅผ ๋ฐ์ ํ์
์ด ๋ง์ง ์์์
PlayerServiceImpl.javaLines 35-38PlayerController.javaLines 29-32
์ด๋ป๊ฒ ๊ณ ์ณค๋
- ๋ฆฌํฌ์งํ ๋ฆฌ ID ์ ๋ค๋ฆญ์ Long์ผ๋ก ํต์ผ
PlayerRepository.javaLines 8-10
- ์๋น์ค ์ธํฐํ์ด์ค/๊ตฌํ์ ํ๋ผ๋ฏธํฐ ํ์
์ Long์ผ๋ก ๋ณ๊ฒฝ
PlayerService.javaLines 6-12PlayerServiceImpl.javaLines 35-41PlayerServiceImpl.javaLines 59-63
- ์ปจํธ๋กค๋ฌ์ PathVariable ํ์
๋ Long์ผ๋ก ๋ณ๊ฒฝ
PlayerController.javaLines 29-32PlayerController.javaLines 39-42
์ถ๊ฐ ์๋ด
- ์ง๊ธ์ @GeneratedValue(strategy = GenerationType.IDENTITY)๋ก ์๋ ์ฆ๊ฐ๋ฅผ ์ฌ์ฉํ๋, ์ ์ฅ ์ id๋ฅผ ๋ฐ๋ก ์ธํ ํ ํ์ ์์ต๋๋ค.
- ๋ง์ฝ ๊ธฐ์กด API์์ String ํํ์ ์๋ณ์๋ฅผ ์ฐ๊ณ ์์๋ค๋ฉด, ๋ผ์ฐํ /์์ฒญ๋ Long์ผ๋ก ๋ง์ถฐ์ฃผ์ธ์. DB์ PK๊ฐ ์ซ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ํฐํฐ/๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ค์ String์ผ๋ก ์ผ๊ดํํด์ผ ํฉ๋๋ค.
๐ ํ ์ค ์์ฝ
@GeneratedValue(strategy = GenerationType.IDENTITY)
๐ “PK ๊ฐ์ ๋ด๊ฐ ์ง์ ๋ฃ์ง ์์๋, DB๊ฐ ์๋์ผ๋ก 1, 2, 3… ์ด๋ ๊ฒ ์์๋๋ก ์์ฑํด์ค!”
์ํฐํฐ์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋ ์ถ๊ฐ

Player
@ManyToOne
@JoinColumn(name = "team_id")
private Team team;
Schedule
@ManyToOne
@JoinColumn(name = "stadium_id")
private Stadium stadium;
stadium
-๊ฐ์ฅ ํฐ ๋ถ๋ชจ๋ผ์ ์๋ฌด ๊ฒ๋ ์๋ฃ์
team
@OneToOne
@JoinColumn(name = "stadium_id")
private Stadium stadium;
*ํ์ด๋ ์คํ๋์์ ํ๋์ฉ ์ด์ด์ ธ์์ผ๋ฏ๋ก one to one
****
์๋ ๋ค manytoone์ด๋ผ๊ณ ํจ

ํ์ดํ ๋ฐ๋๊ฒ ๋ถ๋ชจ!
A → B → C : ๋จ๋ฐฉํฅ
A (๋ถ๋ชจ) ← B(์์) → C(๋ถ๋ชจ) : ์๋ฐฉํฅ
A(์์) → B(๋ถ๋ชจ)
์์์ ๋ถ๋ชจ์๊ฒ ์ง์ ์ฃผ๋๊ตฌ๋!
'Project ESG+AI > [์ผ์ KPMG]ESG ๋ฐ์ดํฐ ํ์ฉ ํ์คํ ๊ฐ๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 22์ผ์ฐจ. ui-server ๋ฅผ ๋ค์ ๊ตฌ์ถํ๊ธฐ (0) | 2025.11.07 |
|---|---|
| 21์ผ์ฐจ. ์ฐ๋ฆฌ ํ์ ERD๋ฅผ ์์ฑํ์ (0) | 2025.11.07 |
| 19์ผ์ฐจ. (0) | 2025.11.04 |
| 19์ผ์ฐจ. ๊ฐ๋ฐ ํ๋ก์ฐ (0) | 2025.11.04 |
| 18์ผ์ฐจ. (0) | 2025.11.03 |