๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ“š ์‹œ๋ฆฌ์ฆˆ31

[๋ฐฐ์›Œ๋ณด์ž Spring Data JPA] ์ฟผ๋ฆฌ ๋ฉ”์„œ๋“œ์™€ @Query๋ฅผ ์ด์šฉํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ์ฟผ๋ฆฌ ํ•ด๋‹น ๊ธ€์€ ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์˜ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ธ€์˜ ๋‚ด์šฉ ์ค‘์— ์ƒ๋žต๋˜๋Š” ๋ง๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Spring Data JPA์˜ ๊ธฐ๋ณธ๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ :: ์‹œ๋ฆฌ์ฆˆ ํ•™์Šต ํ™˜๊ฒฝ ์ค€๋น„ JPA์˜ ๊ธฐ๋ณธ๊ณผ Spring Data JPA Springboot project ์—์„œ JPA ์„ค์ •ํ•˜๊ธฐ JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜๋“ค :: JPA์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ๋ ์—”ํ‹ฐํ‹ฐ์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ ํ•„๋“œ์™€ ์ปฌ๋Ÿผ ๋งคํ•‘ ๋งคํ•‘ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ :: RDB์˜ ๊ฝƒ, ์—ฐ๊ด€ ๊ด€๊ณ„ ์—ฐ๊ด€๊ด€๊ณ„๋ž€?, ์™ธ๋ž˜ ํ‚ค๋ž€?, ๋งคํ•‘ ํ…Œ์ด๋ธ”์ด๋ž€? ์ผ๋Œ€์ผ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ :: ์–ด๋–ป๊ฒŒ Data JPA ๋Š” ๋™์ž‘ํ• ๊นŒ? ๋‹จ๊ฑด ์กฐํšŒ ๋ฐ˜ํ™˜ ํƒ€์ž… ์ปฌ๋ ‰์…˜ .. 2021. 4. 10.
[๋ฐฐ์›Œ๋ณด์ž Spring Data JPA] JPA์˜ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค, JpaRepository ์˜ ๊ธฐ๋Šฅ๊ณผ ๊ตฌ์กฐ ํ•ด๋‹น ๊ธ€์€ ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์˜ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ธ€์˜ ๋‚ด์šฉ ์ค‘์— ์ƒ๋žต๋˜๋Š” ๋ง๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Spring Data JPA์˜ ๊ธฐ๋ณธ๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ :: ์‹œ๋ฆฌ์ฆˆ ํ•™์Šต ํ™˜๊ฒฝ ์ค€๋น„ JPA์˜ ๊ธฐ๋ณธ๊ณผ Spring Data JPA Springboot project ์—์„œ JPA ์„ค์ •ํ•˜๊ธฐ JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜๋“ค :: JPA์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ๋ ์—”ํ‹ฐํ‹ฐ์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ ํ•„๋“œ์™€ ์ปฌ๋Ÿผ ๋งคํ•‘ ๋งคํ•‘ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ :: RDB์˜ ๊ฝƒ, ์—ฐ๊ด€ ๊ด€๊ณ„ ์—ฐ๊ด€๊ด€๊ณ„๋ž€?, ์™ธ๋ž˜ ํ‚ค๋ž€?, ๋งคํ•‘ ํ…Œ์ด๋ธ”์ด๋ž€? ์ผ๋Œ€์ผ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ :: ์–ด๋–ป๊ฒŒ Data JPA ๋Š” ๋™์ž‘ํ• ๊นŒ? ๋‹จ๊ฑด ์กฐํšŒ ๋ฐ˜ํ™˜ ํƒ€์ž… ์ปฌ๋ ‰์…˜ .. 2021. 4. 9.
[๋ฐฐ์›Œ๋ณด์ž Spring Data JPA] ๋งคํ•‘ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ ํ•ด๋‹น ๊ธ€์€ ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์˜ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ธ€์˜ ๋‚ด์šฉ ์ค‘์— ์ƒ๋žต๋˜๋Š” ๋ง๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Spring Data JPA์˜ ๊ธฐ๋ณธ๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ :: ์‹œ๋ฆฌ์ฆˆ ํ•™์Šต ํ™˜๊ฒฝ ์ค€๋น„ JPA์˜ ๊ธฐ๋ณธ๊ณผ Spring Data JPA Springboot project ์—์„œ JPA ์„ค์ •ํ•˜๊ธฐ JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜๋“ค :: JPA์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ๋ ์—”ํ‹ฐํ‹ฐ์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ ํ•„๋“œ์™€ ์ปฌ๋Ÿผ ๋งคํ•‘ ๋งคํ•‘ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ :: RDB์˜ ๊ฝƒ, ์—ฐ๊ด€ ๊ด€๊ณ„ ์—ฐ๊ด€๊ด€๊ณ„๋ž€?, ์™ธ๋ž˜ ํ‚ค๋ž€?, ๋งคํ•‘ ํ…Œ์ด๋ธ”์ด๋ž€? ์ผ๋Œ€์ผ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ :: ์–ด๋–ป๊ฒŒ Data JPA ๋Š” ๋™์ž‘ํ• ๊นŒ? ๋‹จ๊ฑด ์กฐํšŒ ๋ฐ˜ํ™˜ ํƒ€์ž… ์ปฌ๋ ‰์…˜ .. 2021. 4. 7.
[๋ฐฐ์›Œ๋ณด์ž Spring Data JPA] JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜๋“ค ํ•ด๋‹น ๊ธ€์€ ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์˜ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ธ€์˜ ๋‚ด์šฉ ์ค‘์— ์ƒ๋žต๋˜๋Š” ๋ง๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Spring Data JPA์˜ ๊ธฐ๋ณธ๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ :: ์‹œ๋ฆฌ์ฆˆ ํ•™์Šต ํ™˜๊ฒฝ ์ค€๋น„ JPA์˜ ๊ธฐ๋ณธ๊ณผ Spring Data JPA Springboot project ์—์„œ JPA ์„ค์ •ํ•˜๊ธฐ JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜๋“ค :: JPA์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ๋ ์—”ํ‹ฐํ‹ฐ์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ ํ•„๋“œ์™€ ์ปฌ๋Ÿผ ๋งคํ•‘ ๋งคํ•‘ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ :: RDB์˜ ๊ฝƒ, ์—ฐ๊ด€ ๊ด€๊ณ„ ์—ฐ๊ด€๊ด€๊ณ„๋ž€?, ์™ธ๋ž˜ ํ‚ค๋ž€?, ๋งคํ•‘ ํ…Œ์ด๋ธ”์ด๋ž€? ์ผ๋Œ€์ผ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ :: ์–ด๋–ป๊ฒŒ Data JPA ๋Š” ๋™์ž‘ํ• ๊นŒ? ๋‹จ๊ฑด ์กฐํšŒ ๋ฐ˜ํ™˜ ํƒ€์ž… ์ปฌ๋ ‰์…˜ .. 2021. 4. 7.
[๋ฐฐ์›Œ๋ณด์ž Spring Data JPA] Spring Data JPA ์˜ ๊ธฐ๋ณธ๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํ•ด๋‹น ๊ธ€์€ ๋ฐฐ์›Œ๋ณด์ž Spring Data JPA ์‹œ๋ฆฌ์ฆˆ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ์˜ ๋‚ด์šฉ์ด ์ด์–ด์ง€๋Š” ํ˜•ํƒœ์ด๋ฏ€๋กœ ๊ธ€์˜ ๋‚ด์šฉ ์ค‘์— ์ƒ๋žต๋˜๋Š” ๋ง๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ, ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”! Spring Data JPA์˜ ๊ธฐ๋ณธ๊ณผ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ :: ์‹œ๋ฆฌ์ฆˆ ํ•™์Šต ํ™˜๊ฒฝ ์ค€๋น„ JPA์˜ ๊ธฐ๋ณธ๊ณผ Spring Data JPA Springboot project ์—์„œ JPA ์„ค์ •ํ•˜๊ธฐ JPA์˜ ๊ธฐ๋ณธ ์–ด๋…ธํ…Œ์ด์…˜๋“ค :: JPA์˜ ์‹œ์ž‘๊ณผ ๋™์‹œ์— ๋ ์—”ํ‹ฐํ‹ฐ์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘ ํ•„๋“œ์™€ ์ปฌ๋Ÿผ ๋งคํ•‘ ๋งคํ•‘ ํ…Œ์ด๋ธ”๊ณผ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ :: RDB์˜ ๊ฝƒ, ์—ฐ๊ด€ ๊ด€๊ณ„ ์—ฐ๊ด€๊ด€๊ณ„๋ž€?, ์™ธ๋ž˜ ํ‚ค๋ž€?, ๋งคํ•‘ ํ…Œ์ด๋ธ”์ด๋ž€? ์ผ๋Œ€์ผ, ์ผ๋Œ€๋‹ค, ๋‹ค๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค ๊ธฐ๋Šฅ :: ์–ด๋–ป๊ฒŒ Data JPA ๋Š” ๋™์ž‘ํ• ๊นŒ? ๋‹จ๊ฑด ์กฐํšŒ ๋ฐ˜ํ™˜ ํƒ€์ž… ์ปฌ๋ ‰์…˜ .. 2021. 4. 7.
์ดˆ๋ณด์ž๋„ ์ค€๋น„ํ•˜๋Š” SQL ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋งˆ์น˜๋ฉฐ... ๋ชฉ์ฐจ ์นดํ…Œ๊ณ ๋ฆฌ ์ดˆ๋ณด์ž๋„ ์ค€๋น„ํ•˜๋Š” SQL ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์— ๊ฐ€์‹œ๋ฉด ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋ฅผ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. '์‹œ๋ฆฌ์ฆˆ/- ์ดˆ๋ณด์ž๋„ ์ค€๋น„ํ•˜๋Š” SQL ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก ํ•™์ƒ ๊ฐœ๋ฐœ์ž ์žฅ์›์ต์˜ ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ wonit.tistory.com ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉฐ ๊ธฐ์ดˆ ์ด๋ก  ๋‹ค์ง€๊ธฐ ์ด๋ก  ๋ฐ ์‹ค์Šต ํ™˜๊ฒฝ ์„ธํŒ… ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ๋ฐ ์ƒ˜ํ”Œ ์ฟผ๋ฆฌ๋ฌธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL์ด๋ž€? SELECT์˜ WHERE๊ณผ ORDER BY ์ง‘๊ณ„ ํ•จ์ˆ˜์™€ GROUP BY LIMIT์™€ ์„œ๋ธŒ ์ฟผ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ ์ค‘๋ณต๊ณผ NULL ๋‹ค๋ฃจ๊ธฐ SQL ์ฝ”ํ…Œ์˜ ๊ฝƒ ์กฐ์ธ ์ดˆ๋ณด์ž๋„ ์ค€๋น„ํ•˜๋Š” SQL ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์‹œ๋ฆฌ์ฆˆ๋ฅผ ๋งˆ์น˜๋ฉฐ ๋ถ€์ œ-์ด์ œ ๋ญ˜ ํ•ด์•ผ ํ•˜๋‚˜์š”? ์™œ ์‹œ์ž‘ํ–ˆ์–ด์š”? ํ•ด๋‹น ์‹œ๋ฆฌ์ฆˆ๋Š” ์ œ๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ 12๊ธฐ์˜ SQL ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ฉด์„œ ๋ฐฐ์šด ๋‚ด์šฉ๋“ค๊ณผ ์Šคํ‚ฌ๋“ค์„ .. 2021. 2. 25.