๋”๋ณด๊ธฐ

๐Ÿ’ก JPA์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ 2๊ฐ€์ง€

  • ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งคํ•‘ํ•˜๊ธฐ
  • ์˜์†์„ฑ ์ปจํƒ์ŠคํŠธ

์˜์†์„ฑ ์ปจํ…์ŠคํŠธ

์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ € ํŒฉํ† ๋ฆฌ์™€ ์—”ํ‹ฐํ‹ฐ ๋งค๋‹ˆ์ €

https://www.inflearn.com/course/ORM-JPA-Basic/unit/21686?category=questionDetail&q=385382

  • EntityManagerFactory๋ฅผ ํ†ตํ•ด์„œ ๊ณ ๊ฐ์˜ ์š”์ฒญ์ด์˜ฌ๋•Œ๋งˆ๋‹ค EntityManager๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • Entity ๋งค๋‹ˆ์ €๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ปค๋„ฅ์…˜์œผ๋กœ๋””๋น„๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

์˜์†์„ฑ ์ปจํ…์ŠคํŠธ

  • JPA๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์šฉ์–ด
  • “์—”ํ‹ฐํ‹ฐ๋ฅผ ์˜๊ตฌ ์ €์žฅํ•˜๋Š” ํ™˜๊ฒฝ” ์ด๋ผ๋Š” ๋œป

https://www.inflearn.com/course/ORM-JPA-Basic/unit/21686?category=questionDetail&q=385382
https://www.inflearn.com/course/ORM-JPA-Basic/unit/21686?category=questionDetail&q=385382

  • ๋น„์˜์†(new/transient)
    • ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์™€ ์ „ํ˜€ ๊ด€๊ณ„๊ฐ€ ์—†๋Š” ์ƒˆ๋กœ์šด ์ƒํƒœ
      • ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ๋งŒ ํ•œ ์ƒํƒœ(์…‹ํŒ…๋งŒ ํ•œ ์ƒํƒœ)
      • JPA์™€ ๊ด€๋ จ์—†์Œ
  • ์˜์†(managed)
    • ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ๊ด€๋ฆฌ๋˜๋Š” ์ƒํƒœ
      • ์—”ํ‹ฐํ‹ฐ๋งค๋‹ˆ์ € ์•ˆ์—๋Š” ์˜์† ์ปจํ…์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค.
      • em.persist(๊ฐ์ฒด)
      • ์˜์†์ƒํƒœ๊ฐ€ ๋œ๋‹ค๊ณ ํ•ด์„œ DB์— ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.
      • ํŠธ๋žœ์žญ์…˜์„ commit ํ•˜๋Š” ์‹œ์ ์— ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.
  • ์ค€์˜์†(detached)
    • ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์— ์ €์žฅ๋˜์—ˆ๋‹ค๊ฐ€ ๋ถ„๋ฆฌ๋œ ์ƒํƒœ
      • em.detach(๊ฐ์ฒด)
  • ์‚ญ์ œ(removed)
    • ์‚ญ์ œ๋œ ์ƒํƒœ
      • em.remove(๊ฐ์ฒด)

์™œ ์ด๋Ÿฐ ๋งค์ปค๋‹ˆ์ฆ˜์ผ๊นŒ?

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ DB์‚ฌ์ด์— ๋ฌด์–ธ๊ฐ€ ์žˆ๋‹ค.!!

์ค‘๊ฐ„์— ๋ฌด์–ธ๊ฐ€ ์žˆ์œผ๋ฉด ์ด์ ๋“ค์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋‹ค.

'DB > JPA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ” ๋งคํ•‘  (0) 2022.12.30
์ค€์˜์† ์ƒํƒœ  (0) 2022.12.30
ํ”Œ๋Ÿฌ์‹œ  (1) 2022.12.30
์˜์†์„ฑ ์ปจํ…์ŠคํŠธ 2  (0) 2022.12.30
JPA - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ  (0) 2022.12.30

+ Recent posts