Loading...
2022. 5. 5. 20:30

[Spring Data] @Transactional ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ๋ณด๋Š” Spring์˜ ํŠธ๋žœ์žญ์…˜ ์ด์•ผ๊ธฐ

Spring์„ ํ•œ ๋ฒˆ ์ฏค ์‚ฌ์šฉํ•ด๋ณด์…จ๋‹ค๋ฉด Transactional ์–ด๋…ธํ…Œ์ด์…˜์— ๋Œ€ํ•ด ์•Œ๊ณ ๊ณ„์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฌด์ž‘์ • ์ผ์„ ๋• DB๋ž‘ ์—ฐ๊ฒฐํ•˜๊ณ  ๊ฐ์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ์˜์†ํ•  ๋•Œ ์ด๊ฑฐ ์“ฐ๋ฉด ๋ผ. ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋Š” ๋ถ„๋“ค์ด ๊ณ„์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ์ด ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์™€ ๊ทธ๋ ‡์ง€ ์•Š์•˜์„ ๋•Œ ์™œ ์ด๋Ÿฐ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ ์ฏค ๊ถ๊ธˆ์ฆ์„ ๊ฐ€์ ธ๋ณด์‹  ๋ถ„๋“ค์ด ๊ณ„์‹ ๋‹ค๋ฉด ์ด ๊ธ€์„ ์ฐจ๋ถ„ํžˆ ์ฝ์–ด ๋ณด์…จ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. Transaction ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ๊ธ€์—์„œ๋„ ์ถฉ๋ถ„ํžˆ ์–ธ๊ธ‰๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์ด์ง€๋งŒ ์—ฌ๊ธฐ์„œ ํ•œ ๋ฒˆ ๋” ์„ค๋ช…์„ ๋“œ๋ฆฌ๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜์„ ์ด์•ผ๊ธฐํ•˜๋ฉฐ DBMS ํ˜น์€ ๊ทธ ์œ ์‚ฌํ•œ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์—ฐ์‚ฐ๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ์ข€ ๋” ์‰ฝ๊ฒŒ ์„ค๋ช…์„ ํ•ด๋ณด๋ฉด, ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ํ•˜๋‚˜๋ฅผ ์˜์†ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„..

2021. 5. 29. 20:13

[Spring Data] Spring Data module

์Šคํ”„๋ง์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์ด๋Ÿฐ ์˜๋ฌธ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. JPA๋Š” JPA์ธ๋ฐ, Spring Data JPA๋Š” ๋ฌด์—‡์ด๋ฉฐ, JDBC๋Š” JDBC์ธ๋ฐ, Spring Data JDBC๋Š” ๋ฌด์—‡์ธ๊ฐ€? JPA๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ Spring Data JPA๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ๋‹ค๋ฅธ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ชฉ์š”์—ฐํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด Spring Data JPA๋ฅผ ๋ชฐ๋ผ๋„ JPA๋ฅผ ๋ฐฐ์šฐ๋Š” ๋ฐ ํฐ ์ง€์žฅ์€ ์—†์ง€๋งŒ JPA๋ฅผ ๋ชจ๋ฅด๋Š” ์ƒํƒœ์—์„œ Spring Data JPA๋กœ ๋„˜์–ด์˜ค๋Š” ๊ฒƒ์€ ๋งˆ์น˜ ์ด๋ก  ์—†์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ Spring Data๊ฐ€ ์•ž์— ๋ถ€ํŠผ ๋””ํŽœ๋˜์‹œ๋“ค์€ ๋ฌด์–ธ๊ฐ€ Spring์— ์ตœ์ ํ™” ๋˜์–ด ์žˆ๋Š” ๋Š๋‚Œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด Spring์—์„œ ์ œ๊ณตํ•˜๋Š” Spring Data Pattern์€ ์–ด๋–ค ๊ฒƒ์ผ๊นŒ์š”? Spring Data Spri..