์ฆ, JPA๋ Java์์ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ๊ธฐ์ ์ด๋ผ๊ณ ํ ์ ์๋ค. JPA ์์ฒด๋ ๊ตฌํ๋ ๊ฒ์ด ์๋ ๊ธฐ์ ๋ช ์ธ๋ฅผ ์๋ฏธํ๋ค. JPA๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ JPA๋ฅผ ๊ตฌํํ ๊ตฌํ์ฒด๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค. Pet Clinic Application์์๋ Hibernate๋ฅผ ์ฌ์ฉํ๋ค.
Spring Data JPA๋ JPA๋ฅผ ์ฝ๊ณ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ Spring์ด ์ ๊ณตํ๋ ๋ชจ๋ ์ค ํ๋์ด๋ค. Repository ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ JPA๋ฅผ ์ถ์ํํด์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค. Repository์์ ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ๋ฉ์๋๋ฅผ ์ ๋ ฅํ๋ฉด Spring์ด ์์์ ์ ํฉํ ๊ตฌํ์ฒด๋ฅผ ๋ง๋ค์ด Bean์ผ๋ก ๋ฑ๋กํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ด ์ฝ๊ณ ๊ฐ๊ฒฐํ๋ค. Spring Data JPA๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด EntityManager๋ฅผ ํตํด์ผ๋ง JPA๋ฅผ ์ฌ์ฉํ ์ ์๋ค. Pet Clinic Application์์๋ Spring Data JPA๋ฅผ ํตํด JPA ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
JPA์ ๋ํด ์๋ฐ ๊ฒํฅ๊ธฐ์์ผ๋ก๋ง ์๊ณ ์์๋๋ฐ ์ด๋ฒ ๊ธฐํ์ ORM, JPA, Hibernate, Spring Data JPA์ ๊ด๊ณ๋ฅผ ์ ์ ์์๋ค. ์๊ด๊ด๊ณ๋ฅผ ์ ํํํ ๊ทธ๋ฆผ์ด ์์๋๋ฐ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ ๊ฑด ์ข ๊ทธ๋ด ๊ฒ ๊ฐ์ ๋งํฌ๋ก ๋์ฒดํ๋ค. ์๋ ์ฐธ๊ณ ๋งํฌ๋ฅผ ํ์ฉํ๋ฉด ์ฅ๋จ์ ์ ๋น๋กฏํ ์์ธํ ๋ด์ฉ์ ์ ์ ์๋ค.
JPA, Hibernate, Spring Data JPA ์ฐจ์ด์ -
https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/
https://dev-coco.tistory.com/74