Home > CS > 2024 > ๐Ÿ’พ [CS] ORM์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?

๐Ÿ’พ [CS] ORM์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?
CS

๐Ÿ’พ [CS] ORM์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?

  • ORM(Object-Relational Mapping)์€ ๊ฐ์ฒด-๊ด€๊ณ„ ๋งคํ•‘์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด(์˜ˆ: Java, Python ๋“ฑ)์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.
  • ORM(Object-Relational Mapping)์€ ๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐฉ์‹๊ณผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์†”๋ฃจ์…˜์œผ๋กœ, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ธ๋ถ€์ ์ธ SQL ์ฟผ๋ฆฌ ์—†์ด ๊ฐ์ฒด ๋ชจ๋ธ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค.

1๏ธโƒฃ ORM(Object-Relational Mapping)์˜ ์ฃผ์š” ๊ธฐ๋Šฅ.

1๏ธโƒฃ ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๋งคํ•‘.

  • ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ์ฒด๋กœ ํ‘œํ˜„๋˜๊ณ , ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
    • ORM(Object-Relational Mapping)์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์„ ์ž๋™์œผ๋กœ ๋งคํ•‘ํ•˜์—ฌ, ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ SQL ์ถ”์ƒํ™”.

  • ORM(Object-Relational Mapping)์€ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ , ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ, ์‚ฝ์ž…, ์‚ญ์ œ, ์ˆ˜์ •ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด SQL ์—†์ด๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ SQL์ด๋ž€?
๐Ÿ™‹โ€โ™‚๏ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€?

3๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋…๋ฆฝ์„ฑ.

  • ORM(Object-Relational Mapping)์€ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ข…์†๋˜์ง€ ์•Š๊ณ , ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋™์ผํ•œ ์ฝ”๋“œ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ORM์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ๊ฑฐ์˜ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

4๏ธโƒฃ ๊ฐ์ฒด ๋ชจ๋ธ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ.

  • ORM์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ์ฒด ๋ชจ๋ธ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋ฐฉ์‹๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํ˜ธ์ž‘์šฉ์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ†ตํ•ฉํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง(Business Logic)์ด๋ž€?
๐Ÿ™‹โ€โ™‚๏ธ API ์„ค๊ณ„, ๊ณ„์ธตํ˜• ์•„ํ‚คํ…์ฒ˜, ํŠธ๋žœ์žญ์…˜, ์—”ํ‹ฐํ‹ฐ(Entity), ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์˜ ์ฐจ์ด์ .

2๏ธโƒฃ ORM์˜ ๋™์ž‘ ์›๋ฆฌ.

1๏ธโƒฃ ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ๋งคํ•‘.

  • ๊ฐ์ฒด์˜ ์†์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ(Column, ์—ด)์— ๋Œ€์‘ํ•˜๊ณ , ๊ฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค๋Š” ํ…Œ์ด๋ธ”์˜ ๋กœ์šฐ(Row, ํ–‰)์— ๋Œ€์‘๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ์ฒด ๋ชจ๋ธ์— User ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” User ํ…Œ์ด๋ธ”์ด ์žˆ๊ณ , ๊ทธ ์†์„ฑ id, name, email ๋“ฑ์€ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ(Column, ์—ด)๊ณผ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ SQL ์ž๋™ ์ƒ์„ฑ.

  • ORM(Object-Relational Mapping) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ SELECT, INSERT, UPDATE, DELETE์™€ ๊ฐ™์€ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, User ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด, ORM(Object-Relational Mapping)์ด ์ž๋™์œผ๋กœ INSERT SQL ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ…Œ์ด๋ธ”์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™.

  • ORM(Object-Relational Mapping)์€ ๊ฐ์ฒด ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๊ฒฝ์šฐ ์ด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ์ฒด์˜ ์†์„ฑ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด, ORM(Object-Relationl Mapping)์€ ์ž๋™์œผ๋กœ UPDATE ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

3๏ธโƒฃ ORM์˜ ์žฅ์ .

1๏ธโƒฃ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ.

  • ORM(Object-Relational Mapping)์„ ์‚ฌ์šฉํ•˜๋ฉด SQL ์ž‘์„ฑ์„ ์ค„์ด๊ณ , ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐœ๋ฐœ์ž๋Š” ๋” ์ ์€ ์ฝ”๋“œ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด๋Š” ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋†’์ด๊ณ  ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋…๋ฆฝ์„ฑ.

  • ORM(Object-Relational Mapping)์€ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜์กดํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ORM(Object-Relational Mapping) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ ๋งž์ถ”๋ฉด ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋ฅผ ๊ฑฐ์˜ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ ๋ณด์•ˆ์„ฑ

  • ORM(Object-Relational Mapping)์€ ์ž๋™์œผ๋กœ SQL ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— SQL ์ธ์ ์…˜ ๊ณต๊ฒฉ๊ณผ ๊ฐ™์€ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
    • ์ง์ ‘ SQL์„ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์ค„์–ด๋“ค๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด์•ˆ์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

4๏ธโƒฃ ์œ ์ง€๋ณด์ˆ˜์„ฑ.

  • ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์–ด, ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ๋•Œ๋„ ๊ฐ์ฒด ๋ชจ๋ธ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ORM์˜ ๋‹จ์ .

1๏ธโƒฃ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ž‘์„ฑ์˜ ํ•œ๊ณ„.

  • ORM์€ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ตœ์ ํ™”๋‚˜ ํŠน์ •ํ•œ SQL ๊ธฐ๋Šฅ์„ ์ถฉ๋ถ„ํžˆ ์ง€์›ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋งค์šฐ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ORM ๋Œ€์‹  ์ง์ ‘ SQL์„ ์ž‘์„ฑํ•ด์•ผ ํ•  ๋•Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃ ์„ฑ๋Šฅ ์ด์Šˆ.

  • ์ž๋™์œผ๋กœ SQL ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ORM์€ ์ง์ ‘ ์ƒ์„ฑํ•œ SQL์— ๋น„ํ•ด ์„ฑ๋Šฅ์ด ๋‹ค์†Œ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์ด๋‚˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋งŽ์€ ํ™˜๊ฒฝ์—์„œ๋Š” ORM(Object-Relational Mapping) ์‚ฌ์šฉ์ด ๋น„ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ ์ถ”์ƒํ™”๋กœ ์ธํ•œ ์ œ์–ด๋ ฅ ๊ฐ์†Œ.

  • ORM(Object-Relational Mapping)์€ SQL์„ ์ถ”์ƒํ™”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ธ๋ถ€์ ์ธ ์ œ์–ด๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
    • SQL์˜ ์„ธ๋ถ€ ๋™์ž‘์„ ์ง์ ‘ ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” ORM(Object-Relational Mapping)๋ณด๋‹ค ์ง์ ‘ SQL ์ž‘์„ฑ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ ์ถ”์ƒํ™”(abstraction)
๐Ÿ™‹โ€โ™‚๏ธ DIP์˜ ์ •์˜์—์„œ ๋งํ•˜๋Š” โ€˜์ถ”์ƒํ™”๋œ ๊ฒƒโ€™์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?
๐Ÿ™‹โ€โ™‚๏ธ DIP์˜ ์ •์˜์—์„œ ๋งํ•˜๋Š” โ€˜์ถ”์ƒํ™”๋œ ๊ฒƒโ€™๊ณผ โ€˜์ถ”์ƒํ™”โ€™์˜ ๊ฐœ๋…์˜ ์ฐจ์ด์ .

5๏ธโƒฃ ๋Œ€ํ‘œ์ ์ธ ORM ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.

Hibernate

  • Java์™€ JPA(Java Persistence API)๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ORM ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.
    • Hibernate๋Š” ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ๋งคํ•‘์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ JPA๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?
๐Ÿ™‹โ€โ™‚๏ธ JPA๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ .

6๏ธโƒฃ ๊ฒฐ๋ก .

  • ORM(Object-Relational Mapping)์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ„์˜ ๋งคํ•‘์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ ๋กœ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
    • ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” SQL ์ž‘์„ฑ์˜ ๋ฒˆ๊ฑฐ๋กœ์›€์„ ์ค„์ด๊ณ , ์ƒ์„ฑ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ๋ณด์•ˆ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      • ๊ทธ๋Ÿฌ๋‚˜ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ฒ˜๋ฆฌ๋‚˜ ์„ฑ๋Šฅ ๋ฌธ์ œ์— ์žˆ์–ด์„œ๋Š” SQL์„ ์žฅ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ORM(Object-Relation Mapping)์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๋ฉด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.