๐ ์ค๋์ ํ์ต ํค์๋
- ORM
๐ฅ ORM์ ์ฌ์ฉํ ๋
ORM์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ๋งคํํ๋ ๊ธฐ์ ์ ๋๋ค.
์ด๋ฅผ ํตํด ๊ฐ์ฒด ์งํฅ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์์ผ๋ฉฐ, DB์์ ์ํธ์์ฉ์ ๊ฐ์ํํ ์ ์์ต๋๋ค.
๊ฐ๋จํ, ORM์ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ๋ฒ์ญ๊ธฐ๋ก ๋ณผ ์ ์๋ค.
ORM์ ์ฌ์ฉํ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์ฟผ๋ฆฌ ์์ฑ๊ณผ DB ์์ ์ํธ ์์ฉ์ด ํจ์ฌ ํธ๋ฆฌํด์ง์ง๋ง,
๋ณต์กํ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ์ ORM ๋ง์ผ๋ก๋ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ค์ธ ์ ์๋ค.
์ด๋ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
1. ORM์ Query Builder ์ฌ์ฉ : ๋๋ถ๋ถ์ ORM์ Query Builder๋ฅผ ์ ๊ณตํ์ฌ SQL ์ฟผ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก
์์ฑํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด์ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ๋์ฑ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
2. ORM์ ์ฑ๋ฅ ํฅ์ ๊ธฐ๋ฅ : ์ผ๋ถ ORM์ ์ฑ๋ฅ ํฅ์์ ์ํด ์บ์ฑ, ์ง์ฐ ๋ก๋ฉ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ณต์กํ ์ฟผ๋ฆฌ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ฉ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ฉ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ถํ ํ์ฌ ์ฒ๋ฆฌ ๋ถํ๋ฅผ ๋ถ์ฐ์ํค๋
๋ฐฉ๋ฒ์ ๋๋ค. ๋ณต์กํ ์ฟผ๋ฆฌ์ ๋ํ ์ฑ๋ฅ์ ํฅ์์ํค๋๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
4. ์ธ๋ฑ์ค ๋ฐ ์ฑ๋ฅ ํ๋ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ์ธ๋ฑ์ค๋ฅผ ์ถ๊ฐํ๊ณ ์ฟผ๋ฆฌ๋ฅผ ํ๋ํ ์
์์ต๋๋ค. ๋ณต์กํ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ ์ฑ๋ฅ ํ๋์ด ์ค์ํ๊ณ , ORM์ด ์์ฑํ๋ ์ฟผ๋ฆฌ์ ์คํ ๊ณํ์ ๋ถ์ํ์ฌ ์ต์ ํ ๊ฐ๋ฅ
5. Stored Procedure : ์ ์ฅ ํ๋ก์์ ธ๋ DB์ ๋ฏธ๋ฆฌ ์ ์๋ SQL ์ฟผ๋ฆฌ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํจ.
๋ณต์กํ ๋ก์ง์ด๋ ์ฐ์ฐ์ DB ์ธก์์ ์ฒ๋ฆฌํ๊ณ ์ ํ ๋ ์ ์ฉํฉ๋๋ค. ORM๊ณผ ํจ๊ป ์ฌ์ฉ๊ฐ๋ฅํ์ง๋ง,
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ข ์์ฑ์ ์ฆ๊ฐ์ํฌ ์ ์์ผ๋ฏ๋ก ์ฃผ์ ํ์
6. Native SQL : ORM์ ์ฌ์ฉํ๋ฉด์๋ ํ์ํ ๊ฒฝ์ฐ์๋ Native SQL์ ์ง์ ์์ฑํ์ฌ ์คํํ ์ ์๋ค.
์ด๋ฅผ ํตํด ORM์ ์ ํ ์ฌํญ์ ๊ทน๋ณตํ๋ฉด์๋ ํ์ํ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
ํ์ง๋ง, Native SQL์ ์ฌ์ฉํ ๋๋ ORM์ด ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ฃผ์ํด์ผ ํฉ๋๋.
๐ ์ค๋์ ํ๊ณ
์๋กญ๊ฒ ๋ฐฐ์ฐ๋๊ฒ ๋๋ฌด ๋ง์ต๋๋ค. ๋จธ๋ฆฌ๊ฐ ํฐ์ ธ์!!
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
03/15(๊ธ) ๋ด์ผ๋ฐฐ์์บ ํ Java 57์ผ์ฐจ TIL - StringBuilder (0) | 2024.03.15 |
---|---|
03/14(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ Java 56์ผ์ฐจ TIL - AWS (0) | 2024.03.14 |
03/13(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 55์ผ์ฐจ TIL - Spring AOP (0) | 2024.03.13 |
03/12(ํ) ๋ด์ผ๋ฐฐ์์บ ํ Java 54์ผ์ฐจ TIL - QueryDSL (0) | 2024.03.12 |
03/11(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 53์ผ์ฐจ TIL - SOLID (0) | 2024.03.12 |