JPA์ ์คํ๋ง ๋ฐ์ดํฐ JPA์ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ์ ์์๋ด ๋๋ค.
JPA ๊ธฐ๋ณธ ๋งคํ
์คํ๋ง ๋ฐ์ดํฐ JPA ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
JPA๋ ๊ฐ์ฒด๋ฅผ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์์ํํด์ฃผ๋ ๋๊ตฌ๋ก, ORM์ ์ํ JAVA EE ํ์ค ๊ธฐ์ ์ ๋๋ค. ์คํ๋ง ๋ฐ์ดํฐ JPA๋ ์คํ๋ง์์ JPA๋ฅผ ์ด์ฉํ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ ์ ์๋๋ก ์ฐ๋ํด ์ฃผ๋ ์ญํ ์ ํฉ๋๋ค.
JPA๋ฅผ ๋น ๋ฅด๊ฒ ์ตํ๊ณ ์ถ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ด์ ๊ฐ์? ์คํ๋ง๊ณผ JPA๋ฅผ ์ด์ฉํ ํ๋ก์ ํธ๋ฅผ ์งํํด์ผ ํ๋์? ์ด ๊ฐ์๋ ์๋ฐ์์ DB ์ฐ๋์ ํ ๋ ํ๋ฐํ๊ฒ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ธ JPA๋ฅผ ์ตํ๊ณ , ์คํ๋ง์์ JPA๋ฅผ ์ฐ๋ํ ๋ ์ฌ์ฉํ๋ ์คํ๋ง ๋ฐ์ดํฐ JPA์ ๊ธฐ์ด ์ฌ์ฉ๋ฒ์ ๋ฐฐ์ฐ๊ธฐ ์ํ ๊ฐ์์ ๋๋ค.
์ด ๊ฐ์๋ ์ค๋ฌด์์ ์ฃผ๋ก ์ฌ์ฉํ๋ JPA ๋ฐ ์คํ๋ง ๋ฐ์ดํฐ JPA ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ตํ๋ ๋ฐ ์ด์ ์ ๋๊ณ ์์ต๋๋ค. ๊ฐ์๋ฅผ ๋ฃ๊ณ ๋๋ฉด JPA๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค ๊ฐ๋ฐ ํ๋ก์ ํธ์์ ์ฝ๋๋ฅผ ์ดํดํ๊ณ , ์์ฑํ ์ ์๊ฒ ๋ ๊ฒ์ ๋๋ค. ์ค์ ๊ฐ๋ฐ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ JPA ๊ด๋ จ ๊ธฐ๋ฅ์ 90% ์ ๋๋ฅผ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์๋ ค๋๋ฆฝ๋๋ค.
โ ์ ์ ์ง์์ ํ์ธํด์ฃผ์ธ์!
์ค์ JPA ํ๋ก์ ํธ์ ์ฐ์ด๋ JPA ๋ฐ ์คํ๋ง ๋ฐ์ดํฐ JPA์ ํต์ฌ ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ฒ ํ์ตํ ์ ์์ต๋๋ค.
์คํ๋ง๊ณผ JPA๋ฅผ ์ด์ฉํ ๋ค์ํ ํ๋ก์ ํธ ๊ฒฝํ์ด ์์ต๋๋ค. โ์คํ๋ง 5 ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธโ, โJPA ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธโ โ๋๋ฉ์ธ ์ฃผ๋ ๊ฐ๋ฐ ์์ํ๊ธฐโ, โํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ ์์ํ๊ธฐโ ๋ฑ์ ์ฑ ์ ์งํํ์์ต๋๋ค.
Q. SQL์ด๋ JDBC ๊ฒฝํ์ด ์์ด๋ ๋๋์?
์ต์ํ ์๋ฐ์์ ๊ธฐ๋ณธ์ ์ธ SELECT, UPDATE, DELETE, INSERT ์ฟผ๋ฆฌ๋ฅผ ์คํํ ๊ฒฝํ์ ์์ด์ผ ๊ฐ์ ๋ด์ฉ์ ์ดํดํ ์ ์์ต๋๋ค.
Q. ๊ฐ์์์ ์ธ๊ธํ JPA ๋ฒ์ ์ด 3.0์ธ๋ฐ ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ JPA 2 ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ฒ์ ์ผ๋ก ์ธํ ์ฐจ์ด๋ ์๋์?
๊ฐ์์์ ์๊ฐํ๋ ๋ด์ฉ์ ํจํค์ง ๋ช ์ ์ ์ธํ๋ฉด ๊ธฐ๋ฅ์ ์ฐจ์ด๊ฐ ์์ผ๋ ๊ฐ์์์ ์๊ฐํ ๋ด์ฉ์ ๋์ดํ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค.
Q. ๊ฐ์์์ ์ฌ์ฉํ ์ฝ๋๋ ์ด๋์ ๊ตฌํ ์ ์๋์?
๊นํ๋ธ ๋งํฌ๋ฅผ ํตํด ๊ณต๊ฐํ๊ณ ์์ต๋๋ค. (https://github.com/madvirus/jpa-basic)
Q. QueryDSL์ ์ ์ ๋ค๋ฃจ๋์?
๊ฐ์์์๋ ์ธ๊ธํ์ง๋ง ๋ชฉ๋ก, ์์ธ์ ๊ฐ์ ์กฐํ ๊ธฐ๋ฅ์ SQL์ ์ง์ ์ฌ์ฉํ๊ฑฐ๋(JdbcTemplate์ด๋ MyBatis), ๊ฒ์ ์กฐ๊ฑด ์กฐํฉ์ด ํ์ํ ๊ฒฝ์ฐ Specification์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ ํธํฉ๋๋ค.
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
๊ธฐ๋ณธ์ ์ธ JPA ์ฌ์ฉ๋ฒ์ ์ตํ๊ณ ์ถ์ ๋ถ
์คํ๋ง์์ JPA๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์ถ์ ๋ถ
์ ์ ์ง์,
ํ์ํ ๊น์?
JDBC, MyBatis๋ฅผ ์ด์ฉํ DB ์ฐ๋ ๊ฒฝํ
์๋ฐ์์ SELECT, UPDATE, DELETE, INSERT ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ๊ฒฝํ
7,773
๋ช
์๊ฐ์
296
๊ฐ
์๊ฐํ
41
๊ฐ
๋ต๋ณ
4.9
์
๊ฐ์ ํ์
2
๊ฐ
๊ฐ์
๊ฐ์ฒด ์งํฅ, ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ, ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ ๋ฑ์ ๊ด์ฌ์ด ๋ง์ ๊ฐ๋ฐ์์ ๋๋ค.
์ฃผ์ ์ ์:
์ ์ฒด
25๊ฐ โ (3์๊ฐ 56๋ถ)