@Entity
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ๋์ํ๋ ํ๋์ ํด๋์ค๋ฅผ ์๋ฏธํจ
ํด๋น ์ด๋ ธํ ์ด์ ์ด ๋ถ์ ํด๋์ค๋ JPA์์ ๊ด๋ฆฌ
name ์์ฑ์ด ์๋ค. (@Entity(name="UserInfo"))
JPA๋ JPQL์ด๋ผ๋ ๊ฐ์ฒด์งํฅ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ด๋ ํ ์ด๋ธ๋ช ์ด ์๋ ์ํฐํฐ์ ์ด๋ฆ์ด ์ฌ์ฉ๋๋ค.
(select c from UserInfo c where c.id = 1; ์ด๋ฐ ์)
์ฃผ์๐๏ธ
: ๊ธฐ๋ณธ ์์ฑ์(ํ๋ผ๋ฏธํฐX) ํ์. ์ ๊ทผ ์ ์ด์๋ public, protected
์ ์ฅ ํ ํ๋์ final์ ๋ถ์ด๋ฉด ํ ์ด๋ธ์ ๋งคํ๋์ง ์๋๋ค.
@Table
: ์ํฐํฐ์ ๋งคํํ ํ ์ด๋ธ ์ง์
@Id
: pk๋ฅผ ์ง์ ์ ํ
@GeneratedValue
: DBMS ์ข ๋ฅ์ ๋ฐ๋ผ ๋ง์ถฐ ์๋์ ์ผ๋ก ๊ฐ์ JPA์์ ์์ฑํด ์ ๋ ฅํด์ค๋ค
strategy๋ผ๋ ์์ฑ์ ์ต์ ์ด ์๋๋ฐ, ์๋ ์์ฑ ๊ฐ์ ์ด๋ป๊ฒ ์์ฑํ ์ง ์ง์ ํ๋ ๊ฒ์ด๋ค.
ํ๋จ์ ์์์ฒ๋ผ, IDENTITY๋ก ์ง์ ํ๋ฉด ๊ธฐ๋ณธ ํค ์์ฑ์ DBMS์๊ฒ ์์ํ๋ค๋ ์๋ฏธ์ด๋ค. ํด๋น ํ๋ ๊ฐ์ด null๋ก ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ, DB์์ AUTO_INCREMENT ํด์ค๋ค. ์ต์ ์ ์ธ์๋ AUTO, SEQUENCE ๋ฑ์ด ์๋ค.
'๐ Web > Spring, JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ๊ฐ์ฒด์ ๊ฐ์ด null์ธ ํ๋ ๋ ธ์ถํ์ง ์๋ ๋ฒ (0) | 2023.05.18 |
---|---|
[JPA] @Embeddable๋ฅผ ์ด์ฉํ ๋ณตํฉํค ์ค์ (0) | 2023.03.03 |
[Spring] String Constant Pool (0) | 2022.08.02 |
[Spring] CORS ์ค์ (0) | 2022.07.21 |
[Spring] AOP ์ฌ์ฉ ์์ - AOP class ๊ตฌํ (0) | 2022.03.24 |