Spring Boot

[Spring Boot]๋งŽ์ด ์“ฐ์ด๋Š” ์• ๋„ˆํ…Œ์ด์…˜ ์ •์˜ ์ •๋ฆฌ

์šฐ์ฃผ๋ฌผ๊ณ ๊ธฐ 2025. 5. 3. 14:41
๋ฐ˜์‘ํ˜•

 

 

 

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.

 

๋ฐ˜์‘ํ˜•