๋‚ด์ผ๋ฐฐ์›€์บ ํ”„

JPA ์‹ฌํ™” : Spring Data ๊ตฌ์กฐ ๋ฐ JpaRepository ์›๋ฆฌ

KIMHYEYUN 2023. 12. 27. 22:05
๋ฐ˜์‘ํ˜•

Spring Data

๊ตฌ์กฐ

๊ธฐ๋Šฅ ๋ชฉ๋ก

  • ๊ฐ•๋ ฅํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฐ ์‚ฌ์šฉ์ž ์ง€์ • ๊ฐ์ฒด ๋งคํ•‘ ์ถ”์ƒํ™”
  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฉ”์„œ๋“œ ์ด๋ฆ„์—์„œ ๋™์  ์ฟผ๋ฆฌ ํŒŒ์ƒ
  • ๊ธฐ๋ณธ ์†์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ตฌํ˜„ ๋„๋ฉ”์ธ ๊ธฐ๋ณธ ํด๋ž˜์Šค
  • ๋ช…๋ฃŒํ•œ ์ถ”์  ๊ธฐ๋Šฅ ์ง€์›(์ƒ์„ฑ ์ผ์‹œ, ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ ์ผ์‹œ, ์ƒ์„ฑ์ž, ๋งˆ์ง€๋ง‰ ๋ณ€๊ฒฝ์ž)
  • ์‚ฌ์šฉ์ž ์ง€์ • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ฝ”๋“œ ํ†ตํ•ฉ ๊ฐ€๋Šฅ์„ฑ
  • JavaConfig ๋ฐ ์‚ฌ์šฉ์ž ์ง€์ • XML ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ํ†ตํ•œ ๊ฐ„ํŽธํ•œ Spring ํ†ตํ•ฉ
  • Spring MVC ์ปจํŠธ๋กค๋Ÿฌ์™€์˜ ๊ณ ๊ธ‰ ํ†ตํ•ฉ
  • ๊ต์ฐจ ์Šคํ† ์–ด ์ง€์†์„ฑ์— ๋Œ€ํ•œ ์‹คํ—˜์  ์ง€์›

์›๋ฆฌ

  • Repository ๋Š” MarkerInterface๋กœ ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ์€ ์—†๋‹ค.
  • Repository ~ JpaRepository ๊นŒ์ง€๋Š” @NotRepositoryBean ์ด ๋ถ™์–ด์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.
    • JpaRepository<Enity,ID> ๋ถ™์ด๋ฉด ์•Œ๋งž์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋œ SimpleJpaRepository ๊ตฌํ˜„์ฒด ๋นˆ์ด ๋“ฑ๋ก๋œ๋‹ค.
      • ์–ด๋–ป๊ฒŒ? @SpringBootApplication์„ ํ†ตํ•ด ์ž๋™์œผ๋กœ ๋ถ™์—ฌ์ง€๋Š” @EnableJpaRepositories ์˜ JpaRepositoriesRegistrar๋ฅผ ํ†ตํ•ด์„œ ๋“ฑ๋ก๋œ๋‹ค.
        • JpaRepositoriesRegistrar ๋Š” ImportBeanDefinitionRegistrar์˜ ๊ตฌํ˜„์ฒด์ด๋‹ค.
        • ImportBeanDefinitionRegistrar๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ๋นˆ์„ ์ฃผ์ž…ํ•ด์ค€๋‹ค.
728x90
๋ฐ˜์‘ํ˜•