[Spring Boot]๋ง์ด ์ฐ์ด๋ ์ ๋ํ ์ด์ ์ ์ ์ ๋ฆฌ

1. @Entity ์ ๋ํ ์ด์
Member ๊ฐ์ฒด๋ฅผ JPA๊ฐ ๊ด๋ฆฌํ๋ ์ํฐํฐ๋ก ์ง์
= Member ํด๋์ค & ์ค์ DB ํ ์ด๋ธ์ mapping
ํ ์ด๋ธ ์ด๋ฆ ์ง์ ํ์ง ์์ผ๋ฉด, ๊ทธ๋ฅ ํด๋์ค ์ด๋ฆ์ด๋ ๊ฐ์ ์ด๋ฆ์ ํ ์ด๋ธ์ด๋ ๋งตํ๋จ
(๋ฐ๋ผ์ ์์ ์์ ์์๋ member ํ ์ด๋ธ)
(์ง์ ํ๊ณ ์ถ์ผ๋ฉด,
@Entity(name = "member_list") ์ด๋ฐ์์ผ๋ก ํ๋ฉด๋จ
2. @NoArgsConstructor ์ ๋ํ ์ด์
protected ๊ธฐ๋ณธ ์์ฑ์. ์ํฐํฐ๋ ๊ธฐ๋ณธ ์์ฑ์ ๊ผญ ์์ด์ผํจ(์ ๊ทผ์ ์ด์๋ public or protected)
3. @Id ์ ๋ํ ์ด์
@Id ์ ๋ํ ์ด์ ๋ถ์ ํ๋๊ฐ ๊ธฐ๋ณธ ํค๊ฐ ๋จ
+ GeneratedValue๋ ๊ธฐ๋ณธํค ์์ฑ ๋ฐฉ์์ ๊ฒฐ์ .
(์ฌ๊ธฐ์๋ ์๋ ์ฆ๊ฐ๋ก ์ค์ ๋์ด์์)
4. @Column ์ ๋ํ ์ด์
DB์ ์ปฌ๋ผ์ด๋ ํ๋๋ฅผ ๋งคํ
**์ด ์ ๋ํ ์ด์ ์ ์์ฑ ์ข ๋ฅ
a. name : ํ๋๋ ๋งคํํ ์ปฌ๋ผ ์ด๋ฆ. ์์ผ๋ฉด ํ๋ ์ด๋ฆ์ผ๋ก ์ง์
b. nullable : null ํ์ฉ ์ฌ๋ถ
c. unique : unique ์ฌ๋ถ
d. columnDefinition : ์ปฌ๋ผ ์ ๋ณด ์ค์ . ์ฌ๊ธฐ์ defalut ๊ฐ ์ค ์ ์์
ORM : ๊ด๊ณํ DB๋ ํ๋ก๊ทธ๋จ๊ฐ ํต์ ๊ฐ๋
JPA : ์๋ฐ์์ ๊ด๊ณํDB ์ฐ๋ ๋ฐฉ์์ ์ ์ํ ๊ธฐ์ ๋ช ์ธ
Hibernate : JPA์ ๊ตฌํ์ฒด
์คํ๋ง ๋ฐ์ดํฐ JPA : JPA ์ฐ๊ธฐ ํธํ๊ฒ ๋ง๋ค์ด๋ ๋ชจ๋
ORM์ ๊ฐ์ฒด์ DB ๋ฅผ ์ฐ๊ฒฐํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์!!!
JPA๋ interface.