Ep1. JPA

yumyeonghanยท2023๋…„ 2์›” 1์ผ
0

JPA

๋ชฉ๋ก ๋ณด๊ธฐ
1/10

๐Ÿƒ์ด ๊ธ€์€ inflearn์—์„œ ๊น€์˜ํ•œ์˜ ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ JPA ์‹ค๋ฌด ์™„์ „ ์ •๋ณต ๋กœ๋“œ๋งต์„ ํ•™์Šตํ•˜๊ณ  ์ž‘์„ฑํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.๐Ÿƒ

JPA๋ž€

  • JPA

    • Java Persistance API
    • ์ž๋ฐ” ์ง„์˜์˜ ORM ๊ธฐ์ˆ  ํ‘œ์ค€
  • ORM

    • Object-relational mapping(๊ฐ์ฒด ๊ด€๊ณ„ ๋งคํ•‘)
    • ๊ฐ์ฒด๋Š” ๊ฐ์ฒด๋Œ€๋กœ ์„ค๊ณ„
    • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Œ€๋กœ ์„ค๊ณ„
    • ORM ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ค‘๊ฐ„์—์„œ ๋งคํ•‘
    • ๋Œ€์ค‘์ ์ธ ์–ธ์–ด์—๋Š” ๋Œ€๋ถ€๋ถ„ ORM ๊ธฐ์ˆ ์ด ์กด์žฌ
  • JPA๋Š” ํ‘œ์ค€ ๋ช…์„ธ

    • JPA๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋ชจ์Œ
    • JPA ํ‘œ์ค€ ๋ช…์„ธ๋ฅผ ๊ตฌํ˜„ํ•œ 3๊ฐ€์ง€ ๊ตฌํ˜„์ฒด
    • ํ•˜์ด๋ฒ„๋„ค์ดํŠธ, EclipseLink, DataNucleus

์šฐ๋ฆฌ๋Š” ๋Œ€๋ถ€๋ถ„ JPA ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค์— ํ•˜์ด๋ฒ„๋„ค์ดํŠธ ๊ตฌํ˜„์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

JPA ๋™์ž‘

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ JDBC ์‚ฌ์ด์—์„œ ๋™์ž‘ํ•œ๋‹ค.

  • JPA๊ฐ€ ๊ฐœ๋ฐœ์ž ๋Œ€์‹  JDBC API๋ฅผ ์‚ฌ์šฉํ•ด์„œ DB์™€ ํ†ต์‹ ํ•œ๋‹ค.

JPA๋ฅผ ์™œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

  • ์ƒ์‚ฐ์„ฑ

    • SQL ์ค‘์‹ฌ์ ์ธ ๊ฐœ๋ฐœ์—์„œ ๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ๊ฐœ๋ฐœ
    • ์ž๋ฐ” ์ปฌ๋ ‰์…˜์„ ๋‹ค๋ฃจ๋“ฏ์ด ๊ฐœ๋ฐœ
  • ์œ ์ง€๋ณด์ˆ˜

    • ํ•„๋“œ ๋ณ€๊ฒฝ์— ์šฉ์ด
    • ํ•„๋“œ ๋ณ€๊ฒฝ ์‹œ, SQL์€ JPA๊ฐ€ ์ฒ˜๋ฆฌ
  • ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋ถˆ์ผ์น˜ ํ•ด๊ฒฐ

    • ์ƒ์†

      • ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฌธ์€ JPA๊ฐ€ ํ•ด๊ฒฐํ•œ๋‹ค.
    • ์—ฐ๊ด€๊ด€๊ณ„

      • ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์—ฐ๊ด€๋œ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ฐ์ฒด ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰

      • ์—”ํ‹ฐํ‹ฐ์— ์ ‘๊ทผํ•ด์„œ ์—ฐ๊ด€๋œ ๊ฐ์ฒด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๋น„๊ต

      • ๋™์ผํ•œ ํŠธ๋žœ์žญ์…˜์—์„œ ์กฐํšŒํ•œ ์—”ํ‹ฐํ‹ฐ๋Š” ๊ฐ™์Œ์„ ๋ณด์žฅํ•œ๋‹ค.
  • ์„ฑ๋Šฅ

    • 1์ฐจ ์บ์‹œ์™€ ๋™์ผ์„ฑ ๋ณด์žฅ

      • ๊ฐ™์€ ํŠธ๋žœ์žญ์…˜ ์•ˆ์—์„œ๋Š” ๊ฐ™์€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
      • ์ฒ˜์Œ ํ•œ ๋ฒˆ ์กฐํšŒํ•  ๋•Œ๋งŒ SQL์ด ์‹คํ–‰๋œ๋‹ค.
    • ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•˜๋Š” ์“ฐ๊ธฐ ์ง€์—ฐ

      • ๋™์ž‘ ๊ณผ์ •
          1. ํŠธ๋žœ์žญ์…˜์„ ์ปค๋ฐ‹ํ•  ๋•Œ๊นŒ์ง€ ์“ฐ๊ธฐ ์ฟผ๋ฆฌ๋ฌธ์„ ๋ชจ์€๋‹ค.
          1. ํŠธ๋žœ์žญ์…˜์„ ์ปค๋ฐ‹ํ•˜๋Š” ์ˆœ๊ฐ„ ๋ชจ์•„๋‘” ์“ฐ๊ธฐ ์ฟผ๋ฆฌ๋ฌธ์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณด๋‚ด ์‹คํ–‰ํ•œ๋‹ค.
          1. ํŠธ๋žœ์žญ์…˜์„ ์ปค๋ฐ‹ํ•œ๋‹ค.
      • ์“ฐ๊ธฐ ์ฟผ๋ฆฌ๋ฌธ ์ข…๋ฅ˜: INSERT, UPDATE, DELETE
      • ๋„คํŠธ์›Œํฌ ํ†ต์‹ ๋น„์šฉ์ด ์ค„์–ด๋“ ๋‹ค.
    • ์ง€์—ฐ ๋กœ๋”ฉ

      • ๊ฐ์ฒด๊ฐ€ ์‹ค์ œ ์‚ฌ์šฉ๋  ๋•Œ ๋กœ๋”ฉ
    • ์ฆ‰์‹œ ๋กœ๋”ฉ

      • JOIN SQL๋กœ ํ•œ ๋ฒˆ์— ์—ฐ๊ด€๋œ ๊ฐ์ฒด๊นŒ์ง€ ๋ฏธ๋ฆฌ ์กฐํšŒ
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ถ”์ƒํ™”์™€ ๋ฒค๋” ๋…๋ฆฝ์„ฑ

profile
์›น ๊ฐœ๋ฐœ์— ๊ด€์‹ฌ ์žˆ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€