Spring/๐Ÿ”ฅ[spring]์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์›น ํ”„๋กœ์ ํŠธ_๊ตฌ๋ฉ๊ฐ€๊ฒŒ ์ฝ”๋”ฉ๋‹จ 14

2.5 ํŽ˜์ด์ง•/ ์ •๋ ฌ ์ฒ˜๋ฆฌํ•˜๊ธฐ

ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ์™€ ์ •๋ ฌ์€ ์ „ํ†ต์ ์œผ๋กœ SQL์„ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. JPA๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ์ด๋Ÿฐ ์ฒ˜๋ฆฌ๋ฅผ 'Dialect'๋ผ๋Š” ์กด์žฌ๋ฅผ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. JPA๊ฐ€ ์ด์ฒ˜๋Ÿผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‚ฌ์šฉํ•˜๋Š” SQL์˜ ์ฒ˜๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๋“ค์€ SQL์ด ์•„๋‹Œ API์˜ ๊ฐ์ฒด์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Spring Data JPA์—์„œ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ์™€ ์ •๋ ฌ์€ ํŠน์ดํ•˜๊ฒŒ๋„ findAll()์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•œ๊ฐ€์ง€ ์ฃผ์˜ํ•  ์ ์€ ๋ฆฌํ„ดํƒ€์ž…์„ Page ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜๋“œ์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ Pageable ํƒ€์ž…์„ ์ด์šฉํ•ด์•ผํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. 2.5.1 Pageable ์ธํ„ฐํŽ˜์ด์Šค ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์กด์žฌ๋Š” org.springframework.data.d..

2.4.3 JpaRepository ์ธํ„ฐํŽ˜์ด์Šค

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ํ†ตํ•œ CRUD ์—ฐ์Šต JpaRepository์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. - insert ์ž‘์—… : save - select ์ž‘์—… : findById, getOne - update ์ž‘์—… : save - delete ์ž‘์—… : deleteById, delete ํŠน์ดํ•œ ์ ์€ insert์™€ update ๋‘˜ ๋‹ค save ์‚ฌ์šฉ ๋“ฑ๋ก์ž‘์—… ํ…Œ์ŠคํŠธ ๋“ฑ๋ก์ž‘์—… ํ…Œ์ŠคํŠธ๋Š” ํ•œ๋ฒˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋„๋ก ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. 100๊ฐœ์˜ ์ƒˆ๋กœ์šด Memo ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ , MemoRepository๋ฅผ ์ด์šฉํ•ด์„œ ์ด๋ฅผ insertํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ณผ์ •์—๋Š” JPA์˜ ๊ตฌํ˜„์ฒด์ธ Hibernate๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” insert๊ตฌ๋ฌธ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ 100๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ ์กฐํšŒ์ž‘์—… ํ…Œ์ŠคํŠธ ์ˆ˜์ •์ž‘์—… ํ…Œ์ŠคํŠธ ..

2.4 ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค์™€ JpaRepository ~

์‹ค์Šต์„ ํ†ตํ•ด์„œ ์‹ค์ œ Spring Data Jpa๋ฅผ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” ์ง€ ์•Œ์•„๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. Spring Data Jpa๊ฐ€ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๊ฒƒ์€ ๋‹จ์ง€ ๋‘ ์ข…๋ฅ˜์˜ ์ฝ”๋“œ๋งŒ์œผ๋กœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. - JPA๋ฅผ ํ†ตํ•ด์„œ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋˜๋Š” ๊ฐ์ฒด(์ดํ•˜ ์—”ํ‹ฐํ‹ฐ๊ฐ์ฒด)๋ฅผ ์œ„ํ•œ ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค - ์—”ํ‹ฐํ‹ฐ ๊ฐ์ฒด๋“ค์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ Repository ์ด ์ค‘์—์„œ Repository๋Š” Spring Data Jpa์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์„ค๊ณ„ํ•˜๋Š”๋ฐ, ๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„œ๋Š” ๋‹จ์ˆœํžˆ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ•˜๋‚˜ ์ •์˜ํ•˜๋Š” ์ž‘์—…๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์Šต์„ ์œ„ํ•ด์„œ ๋จผ์ € Java์—์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. 2.4.1 ์—”ํ‹ฐํ‹ฐ ํด๋ž˜์Šค ์ž‘์„ฑ Memo ํด๋ž˜์Šค๋Š” ์—”ํ‹ฐํ‹ฐํด๋ž˜์Šค๋กœ ๋งˆ์น˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. @E..

02 Maria ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ Spring Data JPA 2.2~

2.2 Spring Data JPA๋ฅผ ์ด์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ–ˆ๋”๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์ฐธ๊ณ ๋กœ ์ƒ์„ฑ์‹œ gradle-grooby ์„ ํƒ https://velog.io/@kokojihye/Spring-Boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%83%9D%EC%84%B1 Spring Boot: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ์„น์…˜1.ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ค์ •: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ velog.io Build Successful ๋–ด๋‹ค. 2.2.1 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ ์Šคํ”„๋ง ๋ถ€ํŠธ ์„ค์ • ์ด๊ฑด ๋˜ ๋ญ์ž„ https://binux.tistory.com/92 Intellij - error: invalid source release: 17 ์˜ค๋ฅ˜ Java 17์ด LTS๋กœ ๊ณต๊ฐœ๋˜์—ˆ๊ณ , Spring boot..