Loading...
2022. 6. 26. 15:50

[Spring] OSIV๋กœ ์•Œ์•„๋ณด๋Š” Spring Transaction ํ—ค์งš๊ธฐ

Spring boot์—๋Š” spring.jpa.open-in-view๋ผ๊ณ  ํ•˜๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ JPA์˜ OSIV ๊ธฐ๋Šฅ์„ ON/OFF ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์ธ๋ฐ์š”. ์ด ์˜ต์…˜์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. OSIV ๋จผ์ € ์ด ์˜ต์…˜์€ JPA์˜ OSIV ๊ธฐ๋Šฅ์˜ ์‚ฌ์šฉ ์œ ๋ฌด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ, OSIV๋ž€, ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋ฅผ View๊นŒ์ง€ ์—ด์–ด๋‘๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด์‹œ๊ฒ ๋‹ค๋ฉด ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ•ด๋ณด์„ธ์š”. 2020.06.23 - [Programming/Spring] - [Spring] JPA์˜ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ ์ƒ๋ช…์ฃผ๊ธฐ [Spring] JPA์˜ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ ์ƒ๋ช…์ฃผ๊ธฐ Spring Framework๋ฅผ ์ด์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” DB ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค..

2022. 6. 22. 21:33

[Programming] SOLID - ๊ฐ์ฒด ์ง€ํ–ฅ 5๋Œ€ ์„ค๊ณ„ ์›์น™

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” ํŠน์ • ์–ธ์–ด์— ๋Œ€ํ•œ ํ•™์Šต์ด ์•„๋‹Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šคํ‚ฌ์— ๋Œ€ํ•ด ์ ์–ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๋…์ž ์—ฌ๋Ÿฌ๋ถ„๋“ค ์ค‘ Java, C#, Python๊ณผ ๊ฐ™์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๊ณ  ๊ณ„์‹ ๋‹ค๋ฉด OOP(๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ)์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์‰ฝ๊ฒŒ ์ ‘ํ•ด๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. OOP (Object Oriented Programming) OOP๋Š” ์šฐ๋ฆฌ ๋ง๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ‚ค์—์„œ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ko.wikipedia.org ์‰ฝ๊ฒŒ ์–˜๊ธฐํ•˜์ž๋ฉด ์šฐ๋ฆฌ๊ฐ€ C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ๋˜ ๋ช…๋ น ํ˜•์‹์˜ ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ๋Š” ๋‹ฌ๋ฆฌ OOP๋Š” ๊ฐ์ฒด๋ผ๋Š” ๋…๋ฆฝ๋œ ๋‹จ์œ„๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ํ˜•์„ฑ์‹œํ‚ค๋Š” ์Šคํ‚ฌ์ž…๋‹ˆ๋‹ค. ์ ˆ์ฐจ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ '์ ˆ..