1. ๊ธฐ๋ณธ ํค ํ ๋น ๋ฐฉ๋ฒ
(1) ์ง์ ํ ๋น์ ๊ฒฝ์ฐ
@Id
private Long id;
(2) ์๋ ์์ฑ ํ ๋น์ ๊ฒฝ์ฐ
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY OR AUTO OR SEQUNCE OR TABLE)
private Long id;
2. ์๋ ์์ฑ ํ ๋น ์ ๋ต
(1) IDENTITY
- PK ์์ฑ์ DB์ ์์ํ๋ค.
- DB๊ฐ ์์์ AUTO INCREMENT๋ก ๊ด๋ฆฌํด์ค๋ค.
- entityManger.persist()๊ฐ ์คํ๋๋ ์์ ์ ์ฆ์ INSERT ์ฟผ๋ฆฌ๊ฐ ์คํ๋์ด DB์ ๋ฐ์๋๊ณ DB์์ PK๋ฅผ ์์ฑํด์ ์๋ ํ ๋นํ๋ฉฐ ์์์ฑ ์ปจํ
์คํธ์ 1์ฐจ ์บ์์ ๊ฐ์ ์ ์ฅํ๋ค.
- ์ด๊ฑธ ์๋ฉด ๊ฐ์ ํธ๋์ญ์ ๋ด์์๋ persist()์ดํ์๋ SELECT ์ฟผ๋ฆฌ๋ก ID๋ฅผ ์กฐํํ์ง ์์๋ ๋ฐ๋ก getId()๋ฅผ ํตํด ์๋ณ์๋ฅผ ์ป์ ์ ์๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก JPA๋ ํธ๋์ญ์ COMMIT ์์ ์ INSERT ์ฟผ๋ฆฌ๋ฅผ ์คํํ์ง๋ง IDENTITY๋ ์์ธ์ด๋ค.
'๐ Backend > โ๏ธ JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring Data JPA - Query Method ๊ฐ๋จ ์ค๋ช (0) | 2022.10.21 |
---|---|
์์์ฑ ์ปจํ ์คํธ๋ (JPA) (0) | 2022.10.06 |