Skip to content

[๐ŸŒฑ JPA ๋ฐฉํƒˆ์ถœ ์˜ˆ์•ฝ ๋Œ€๊ธฐ] ์ดˆ๋ก ๋ฏธ์…˜ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.#593

Open
2Jaeheon wants to merge 30 commits into
woowacourse:2jaeheonfrom
2Jaeheon:step3
Open

[๐ŸŒฑ JPA ๋ฐฉํƒˆ์ถœ ์˜ˆ์•ฝ ๋Œ€๊ธฐ] ์ดˆ๋ก ๋ฏธ์…˜ ์ œ์ถœํ•ฉ๋‹ˆ๋‹ค.#593
2Jaeheon wants to merge 30 commits into
woowacourse:2jaeheonfrom
2Jaeheon:step3

Conversation

@2Jaeheon

Copy link
Copy Markdown

๋‹จ๊ณ„๋ณ„ ๋„๋‹ฌ ์ง€์ 

0 ๋‹จ๊ณ„ (์‹œ์ž‘ ๋ธŒ๋žœ์น˜ยท์ž‘์—… ๋ธŒ๋žœ์น˜์™€ ์ด๋ฒˆ ๋ฏธ์…˜์—์„œ ๊ฑด๋“œ๋ฆด ๋ฒ”์œ„)

step3 ๋ธŒ๋žœ์น˜์—์„œ ์‹œ์ž‘ํ•˜์˜€๊ณ , ๊ฑด๋“œ๋ฆด ๋ฒ”์œ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Œ.

์ด๋ฒˆ์—๋Š” JdbcTemplate์œผ๋กœ ์ง์ ‘ ์ž‘์„ฑํ•˜๋˜ ์ €์žฅ/์กฐํšŒ SQL๊ณผ Reservation๊ณผ ReservationTime์˜ ๊ฐ์ฒด-ํ…Œ์ด๋ธ” ๋งคํ•‘์„ JPA๋กœ ์ „ํ™˜ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ˜ธ์ถœํ•˜๋Š” API ๋™์ž‘๊ณผ ์‘๋‹ต ํ˜•ํƒœ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ ์ž ํ•˜์˜€์Œ.

1๋‹จ๊ณ„

1๋‹จ๊ณ„์˜ ๋ฏธ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ๊ด€์ฐฐ๊นŒ์ง€ ์™„๋ฃŒํ•˜์˜€์Œ.

2๋‹จ๊ณ„, 3๋‹จ๊ณ„, 4๋‹จ๊ณ„

๋ง์„ค์ธ ๊ฒฐ์ • 1~2๊ฐœ

IDENTITY ๋Œ€์‹  SEQUENCE๋กœ id๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์“ฐ๊ธฐ ์ง€์—ฐ์ด ๋˜๋‹ˆ๊นŒ ์„ฑ๋Šฅ์ƒ ๋” ์ด์ ์ด ํฌ์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ๊ณ ๋ฏผ:
ํ•˜์ง€๋งŒ, ์„ฑ๋Šฅ์ƒ ํฐ ์ด์ ์ด ์—†๊ณ  ๋ณต์žกํ•จ์ด๋Š˜์–ด๋‚œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ IDENTITY๋ฅผ ์‚ฌ์šฉํ•˜์˜€์Œ.

Reservation <-> Slot ๊ฐ„ @OnetoOne์„ ์จ๋„ ๋˜๋‚˜?:
Reservation์€ ํ•˜๋‚˜์˜ ์Šฌ๋กฏ๋งŒ์„ ๊ฐ€์ง€๊ณ  ํ•˜๋‚˜์˜ ์Šฌ๋กฏ์€ ํ•˜๋‚˜์˜ ์˜ˆ์•ฝ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‹ˆ, ํ•ด๋‹น ์• ๋„ˆํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฉฐ, slot_id์— unique๋ฅผ ๊ฑธ์—ˆ์Œ.

ํ”๋“ค๋ฆฐ ํ•œ ์žฅ๋ฉด

  • DDL์„ Hibernate๊ฐ€ ๋งŒ๋“ค๊ฒŒ ํ• ์ง€, schema.sql์„ ์œ ์ง€ํ• ์ง€
  • LAZY๋ฅผ ์“ฐ๋ฉด์„œ ์กฐํšŒ API๋Š” fetch join์œผ๋กœ ๋ฏธ๋ฆฌ ๋‹น๊ฒจ์˜ฌ์ง€
  • Slot์„ ๋…๋ฆฝ Entity๋กœ ๋‘˜์ง€, ๊ฐ’ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฃฐ์ง€

2Jaeheon added 30 commits June 3, 2026 14:17
Signed-off-by: 2jaeheon <lchc.dev@gmail.com>
Signed-off-by: 2jaeheon <lchc.dev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant