๋ฐ˜์‘ํ˜•
[JPA] ์ƒ์†๊ด€๊ณ„ ๋งคํ•‘(1): ์ƒ์† ์ „๋žต

์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (commit hash: c93b796) > git clone https://github.com/lcalmsky/jpa > git checkout c93b796 Warning: ์ด๋ฒˆ ์†Œ์Šค ์ฝ”๋“œ๋Š” ์ตœ์ข… ์ปค๋ฐ‹ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์–ด ๋ชจ๋“  ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ์ •ํ™•ํžˆ ํ™•์ธํ•  ์ˆœ ์—†์œผ๋‹ˆ ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. Overview ๊ฐ์ฒด์˜ ์ƒ์†๊ด€๊ณ„๋ฅผ ํ…Œ์ด๋ธ”๋กœ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์Šˆํผํƒ€์ž…, ์„œ๋ธŒํƒ€์ž… ๊ด€๊ณ„ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ์ƒ์† ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๊ฐ์ฒด๋Š” ์ƒ์†๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, ์ด ์ƒ์†๊ณผ ์œ ์‚ฌํ•œ ๋ฐฉ๋ฒ•์ด DB ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ•์—๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์Šˆํผํƒ€์ž…, ์„œ๋ธŒํƒ€์ž… ๊ด€๊ณ„์ธ๋ฐ ํ™•์žฅ๋œ ER ๋ชจ๋ธ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์Šˆํผ-์„œ๋ธŒ ํƒ€์ž…์ด ๋„์ถœ๋˜๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ณตํ†ต๋œ..

JPA 2022. 7. 5. 10:30
[JPA] ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ

์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (commit hash: e336ad7) > git clone https://github.com/lcalmsky/jpa > git checkout e336ad7 Overview ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งบ์„ ๋•Œ ๊ด€๋ฆฌ์˜ ์ฃผ์ฒด์ธ ์—ฐ๊ด€๊ด€๊ณ„ ์ฃผ์ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ(Owner) ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งบ์„ ๋•Œ ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด์˜ ๋‘ ๊ด€๊ณ„์ค‘ ํ•˜๋‚˜๋ฅผ ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ์œผ๋กœ ์ง€์ • ex) Member ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง„ Team์ด ์ฃผ์ธ์ด ๋ ์ง€ Team ๊ฐ์ฒด๊ฐ€ ๊ฐ€์ง„ Members๊ฐ€ ์ฃผ์ธ์ด ๋ ์ง€ ์ •ํ•จ ์—ฐ๊ด€๊ด€๊ณ„์˜ ์ฃผ์ธ๋งŒ FK๋ฅผ ๊ด€๋ฆฌ(๋“ฑ๋ก, ์ˆ˜์ • ๋“ฑ) ์ฃผ์ธ์ด ์•„๋‹Œ ์ชฝ์€ ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅ ์ฃผ์ธ์ด ์•„๋‹Œ ์ชฝ์—์„œ mappedBy ์†์„ฑ์œผ๋กœ ์ฃผ์ธ ์ง€์ • ๊ทธ๋ ‡๋‹ค๋ฉด ๋‘ ๊ด€๊ณ„ ์ค‘ ์–ด๋–ค ๊ฒƒ์„ ์ฃผ์ธ์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒŒ ํƒ€..

JPA 2022. 6. 30. 10:30
[JPA] ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„

์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (commit hash: e336ad7) > git clone https://github.com/lcalmsky/jpa > git checkout e336ad7 Overview ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ๋ชจ๋ธ๋ง ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„๋Š” ๊ฐ์ฒด๊ฐ€ ์„œ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ์ฒด๊ฐ„์˜ ๊ด€๊ณ„๋Š” ์•„๋ž˜ ์ฒ˜๋Ÿผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ” ์—ฐ๊ด€๊ด€๊ณ„๋Š” ์ด์ „๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. DB์—์„œ๋Š” team_id ๋งŒ์œผ๋กœ๋„ Member๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ…Œ์ด์˜ ์—ฐ๊ด€๊ด€๊ณ„์—๋Š” ๋ฐฉํ–ฅ์ด๋ผ๋Š” ๊ฐœ๋…์ด ์—†์Šต๋‹ˆ๋‹ค. FK ํ•˜๋‚˜๋กœ ์ถฉ๋ถ„ํžˆ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋–„๋ฌธ์ž…๋‹ˆ๋‹ค. ์–‘๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„ ๊ตฌํ˜„ ์ด์ „ ํฌ์ŠคํŒ…์—์„œ ์ด๋ฏธ ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๊ตฌํ˜„ํ•ด๋†“์•˜๊ธฐ ๋•Œ๋ฌธ์— ์–‘๋ฐฉํ–ฅ ๊ด€๊ณ„๋ฅผ ๋งบ๊ธฐ ์œ„ํ•ด์„  Team ์ชฝ..

JPA 2022. 6. 29. 10:30
[JPA] ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„

์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (commit hash: e336ad7) > git clone https://github.com/lcalmsky/jpa > git checkout e336ad7 Overview ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. JPA๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ํฌ์ŠคํŒ…ํ•˜๋Š” ๊ธ€์ด์ง€๋งŒ ์Šคํ”„๋ง ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋กœ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋‚ด์šฉ์€ ๋‹ค๋ฅธ ํฌ์ŠคํŒ…์—๋„ ๊ทธ๋™์•ˆ ๋งŽ์ด ์ž‘์„ฑํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žตํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ๋ชจ๋ธ๋ง ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ์™€ ๋‹ค๋ฅด๊ฒŒ ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ๋ชจ๋ธ๋งํ•œ ๋ชจ์Šต์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ์—ฐ๊ด€๊ด€๊ณ„ Member ๊ฐ์ฒด๊ฐ€ Team ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด์„  teamId๋ฅผ ๊ฐ€์ง€๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ Team ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ” ์—ฐ๊ด€๊ด€๊ณ„ ์ฝ”๋“œ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ..

JPA 2022. 6. 28. 10:30
์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘(5): ํšŒ์› ๊ฐ€์ž… ๋ฆฌํŒฉํ„ฐ๋ง

๋ณธ ํฌ์ŠคํŒ…์€ ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์Šคํ”„๋ง๊ณผ JPA ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (branch: feature/6) Overview ์ง€๊ธˆ๊นŒ์ง€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŽ™ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌํŽ™ํ„ฐ๋ง ์ „์— ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋ฆฌํŽ™ํ„ฐ๋ง ์ดํ›„์—๋„ ๊ฒฌ๊ณ ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ์ถ”๊ฐ€๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ํ•  ๊ฒƒ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ํšŒ์› ๊ฐ€์ž…์‹œ ์ด์ƒํ•œ ๊ฐ’์ด ์ž…๋ ฅ๋œ ๊ฒฝ์šฐ ๋‹ค์‹œ ํšŒ์› ๊ฐ€์ž… ํ™”๋ฉด์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํ•˜๋Š”์ง€ ํ™•์ธ ์—๋Ÿฌ๊ฐ€ ์ž˜ ๋…ธ์ถœ ๋˜๋Š”์ง€ ํ™•์ธ ํšŒ์› ๊ฐ€์ž…์‹œ ์ •์ƒ์ ์ธ ๊ฐ’์ด ์ž…๋ ฅ๋œ ๊ฒฝ์šฐ ๊ฐ€์ž…ํ•œ ํšŒ์› ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ ์ด๋ฉ”์ผ์ด ๋ณด๋‚ด์ง€๋Š”์ง€ ํ™•์ธ ๋ฆฌํŒฉํ„ฐ๋ง์‹œ ๊ณ ๋ คํ•ด์•ผํ•  ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ์˜ ๊ธธ์ด ๋„ˆ๋ฌด ๊ธธ๋ฉด ๋ฉ”์„œ๋“œ๋ฅผ ๋‚˜๋ˆ” ์ฝ”๋“œ ๊ฐ€๋…์„ฑ ์ฝ”๋“œ์˜ ์œ„์น˜ ๊ฐ์ฒด๋“ค ์‚ฌ์ด์˜ ์˜์กด ๊ด€๊ณ„ ํด๋ž˜์Šค์˜ ..

์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘(4): ํšŒ์› ๊ฐ€์ž… ํผ ๊ฒ€์ฆ ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„

๋ณธ ํฌ์ŠคํŒ…์€ ๋ฐฑ๊ธฐ์„ ๋‹˜์˜ ์Šคํ”„๋ง๊ณผ JPA ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค. (branch: feature/5) Overview ํšŒ์› ๊ฐ€์ž… ํผ์„ ๊ฒ€์ฆํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํšŒ์› ๊ฐ€์ž…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์• ๋„ˆํ…Œ์ด์…˜์„ ์ด์šฉํ•œ ๊ฒ€์ฆ๊ณผ ์ปค์Šคํ…€ ๊ฒ€์ฆ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๊ณ , ์—๋Ÿฌ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ํšŒ์› ๊ฐ€์ž…์„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐ’์ด ์œ ํšจํ•  ํšŒ์› ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด๋ฉ”์ผ ์ •๋ณด๋ฅผ ๋ฐœ์†กํ•œ ๋’ค ํ™ˆ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. Prerequisite Dependencies build.gradle์˜ dependencies์— spring-boot-starter-validation ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. dependencies { // ์ƒ๋žต implementation ..

๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
Total
128,446
Today
24
Yesterday
526
๋งํฌ
«   2022/10   »
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
๊ธ€ ๋ณด๊ด€ํ•จ