![๊น์ํ์ ์ค์ ์๋ฐ - ๊ธฐ๋ณธํธ๊ฐ์ ์ธ๋ค์ผ](https://cdn.inflearn.com/public/courses/332506/cover/a2cc776f-4996-44a4-bbb3-b31df29c087c/332506.png?w=420)
๊น์ํ์ ์ค์ ์๋ฐ - ๊ธฐ๋ณธํธ
๊น์ํ
โฉ44,000
์ด๊ธ / Java, ๊ฐ์ฒด์งํฅ
5.0
(1,262)
์ค๋ฌด์ ํ์ํ ์๋ฐ ๊ฐ์ฒด ์งํฅ์ ํต์ฌ ๊ฐ๋ ์ ์์ ์ฝ๋๋ฅผ ํตํด ์ฝ๊ฒ ํ์ตํฉ๋๋ค.
์ด๊ธ
Java, ๊ฐ์ฒด์งํฅ
Querydsl์ ๊ธฐ์ด๋ถํฐ ์ค๋ฌด ํ์ฉ๊น์ง, ํ๋ฒ์ ํด๊ฒฐํด๋ณด์ธ์!
Querydsl์ ๊ธฐ์ด๋ถํฐ ์ค๋ฌดํ์ฉ๊น์ง ํ๋ฒ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
๋จ์ํ ๊ธฐ๋ฅ ์ค๋ช ์ ๋์ด ์ค๋ฌดํ์ฉ ๋ ธํ์ฐ๋ฅผ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
JPA๋ฅผ ์ฌ์ฉํ ๋ ๋์ ์ฟผ๋ฆฌ์ ๋ณต์กํ ์ฟผ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ณต์กํ ์ฟผ๋ฆฌ, ๋์ ์ฟผ๋ฆฌ๋ ์ด์ ์๋
!
Querydsl๋ก ์๋ฐ ๋ฐฑ์๋ ๊ธฐ์ ์ ๋จ๋จํ๊ฒ.
๐ฉ ๋ณธ ๊ฐ์๋ ๋ก๋๋งต ๊ณผ์ ์ ๋๋ค.
์ต์ ์๋ฐ ๋ฐฑ์๋๋ ์ฃผ๋ก ์คํ๋ง ๋ถํธ์ JPA, ์คํ๋ง ๋ฐ์ดํฐ JPA๋ฅผ ์กฐํฉํด์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฐ ์กฐํฉ์ผ๋ก ํด๊ฒฐํ์ง ๋ชปํ๋ ํ๊ณ์ ์ด ๋ฐ๋ก ๋ณต์กํ ์ฟผ๋ฆฌ์ ๋์ ์ฟผ๋ฆฌ ๋ฌธ์ ์ ๋๋ค.
์ค๋ฌด์์๋ ๋ณดํต ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ๋ค๋ฃจ๊ณ , ์ฌ๊ธฐ์ ๋ํด์ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ผ๋ ๋ง์ต๋๋ค. ๋น์ฆ๋์ค ๋๋ฉ์ธ์ ๋ฐ๋ผ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ์ผ์ด ๊ฐ๋ฐ ์ ๋ฌด์ ์ ๋ฐ ์ด์์ธ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ค์ ๊น๋ํ๊ฒ ํด๊ฒฐํด์ฃผ๋ ๊ธฐ์ ์ด ๋ฐ๋ก Querydsl์ ๋๋ค.
ํ๊ณ๋ฅผ ๋ฐ์ด๋๊ณ ์ถ๋ค๋ฉด,
JPA + Querydsl์ ์ ํ์ด ์๋ ํ์์
๋๋ค.
Querydsl์ ์๋ฐ ์ธ์ด์ ํ๊ณ๋ฅผ ๋์ด์, ์ฟผ๋ฆฌ๋ฅผ ๋ฌธ์๊ฐ ์๋๋ผ ์ง์ง ์๋ฐ ์ฝ๋๋ก ์์ฑํ ์ ์๊ฒ ๋์์ค๋๋ค. ์ ๋ง ๋ง์ ๊ฐ๋ฐ์๋ค์ด ๊ณ ๋ฏผํด์จ ๋์ ์ฟผ๋ฆฌ ๋ฌธ์ ๋ฅผ ๊น๋ํ๊ฒ ํด๊ฒฐํ ๋ฟ๋ง ์๋๋ผ, ๋ฌธ๋ฒ ์ค๋ฅ๋ ์ปดํ์ผ ์์ ์ ๋ชจ๋ ์ก์์ค๋๋ค. ์๋ฐ ์ฝ๋๋ก ์์ฑํ์ง๋ง SQL, JPQL๊ณผ ๋ฌธ๋ฒ์ด ๊ฑฐ์ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ํ์ตํ ์ ์๊ณ , ๋ ์ฝ๊ฒ ๋ณต์กํ ์ฟผ๋ฆฌ๋ ์์ฑํ ์ ์์ต๋๋ค.
์คํ๋ง ๋ถํธ์ JPA๋ผ๋ ๊ธฐ๋ฐ ์์, ์คํ๋ง ๋ฐ์ดํฐ JPA์ Querydsl์ด๋ผ๋ ๋ ํ์์ ์ธ ํ๋ ์์ํฌ๋ฅผ ๋ํ๋ฉด ๊ฐ๋ฐ์ด ์ ๋ง ์ฆ๊ฑฐ์์ง๋๋ค. ์ง๊ธ๊น์ง ์กฐ๊ธ์ด๋ผ๋ ๋จ์ํ๊ณ ๋ฐ๋ณต์ด๋ผ ์๊ฐํ๋ ๊ฐ๋ฐ ์ฝ๋๋ค์ด ํ์ฐํ ์ค์ด๋ญ๋๋ค. ๊ฐ๋ฐ์๋ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ๊ฐ๋ฐํ๋๋ฐ, ์ง์คํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ Querydsl ๋๋ถ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ฒ ์กฐ์ฐจ๋ ์๋ฐ ์ฝ๋๋ก ์์ฑํ ์ ์์ด์ ์ฆ๊ฒ์ต๋๋ค. ๋ณต์กํ ์ค๋ฌด์์ ์คํ๋ง ๋ฐ์ดํฐ JPA์ Querydsl์ ์กฐํฉ์ ์ ํ์ด ์๋๋ผ ํ์์ ๋๋ค.
์ด ๊ฐ์์์๋ Querydsl์ ์์ ๊ธฐ์ด๋ถํฐ ๋ค์ํ ์ค๋ฌด ํ๋ก์ ํธ์์ ์์ ๋ ธํ์ฐ๋ค๊น์ง Querydsl์ ๊ดํ ๋ชจ๋ ๋ด์ฉ์ ์ ๋ฌํด ๋๋ฆฝ๋๋ค.
๐จโ๐ป ์๊ฐ ์ ์ฐธ๊ณ ํด์ฃผ์ธ์!
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ
JPA ๊ธฐ๋ฐ ๊ธฐ์ ์ ์ดํดํ๋๋ฐ ํ์ํ ์ ์ ๊ฐ์์
๋๋ค.
์ค์ ! ์คํ๋ง ๋ถํธ์ JPA ํ์ฉ1 - ์น ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ
์คํ๋ง ๋ถํธ์ JPA๋ก ์ค์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ค๊ณํ๊ณ ๊ฐ๋ฐํฉ๋๋ค.
์ค์ ! ์คํ๋ง๋ถํธ์ JPA ํ์ฉ2 - API ๊ฐ๋ฐ๊ณผ ์ฑ๋ฅ ์ต์ ํ
JPA ๊ทนํ์ ์ฑ๋ฅ ์ต์ ํ ๋ฐฉ๋ฒ์ ํ์ตํ ์ ์์ต๋๋ค.
์ค์ ! ์คํ๋ง ๋ฐ์ดํฐ JPA
๊ธฐ์ด๋ถํฐ ์ค๋ฌด๊น์ง ์คํ๋ง ๋ฐ์ดํฐ JPA๋ฅผ ํ์ตํฉ๋๋ค.
์ฑ
์ ๋ ๊น์ ๋ด์ฉ์ ๊ณต๋ถํ๊ณ ์ถ์ ๋ถ๋ค์ ์ํ
์ฐธ๊ณ ์๋ก ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
(์ฑ
์ด ์์ด๋ ๊ฐ์๋ฅผ ์ํ ๋ณ๋์ ์๋ฃ๊ฐ ์ ๊ณต๋ฉ๋๋ค.)
ํ์ต ๋์์
๋๊ตฌ์ผ๊น์?
JPA๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ํด๊ฒฐํ๊ณ ์ถ์ ๋ถ
์คํ๋ง๊ณผ JPA ์กฐํฉ์ผ๋ก ์ค๋ฌด ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋ถ
์ ์ ์ง์,
ํ์ํ ๊น์?
JPA
์คํ๋ง ๋ฐ์ดํฐ JPA
์คํ๋ง ํ๋ ์์ํฌ
484,294
๋ช
์๊ฐ์
30,309
๊ฐ
์๊ฐํ
8,706
๊ฐ
๋ต๋ณ
5.0
์
๊ฐ์ ํ์
21
๊ฐ
๊ฐ์
๊ต์ก์
์ : ์ฐ์ํํ์ ๋ค ๊ธฐ์ ์ด์ฌ, ์นด์นด์ค, SKํ๋๋
์ ์: ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
์ง์ง ์ค๋ฌด์ ํ์ํ ์ ๋๋ก ๋ ๊ฐ๋ฐ์๊ฐ ๋ ์ ์๋๋ก, ๊ต์กํ๋ ๊ฒ์ด ์ ์ ๋ชฉํ์ ๋๋ค.
EO ์ธํฐ๋ทฐ ์์
ํ๊ตญ ๊ฐ๋ฐ์ ์ต๊ณ 1ํ๊ฐ์ฌ ๊น์ํ์ ์ธ์ [1๋ถ]
ํ๊ตญ ๊ฐ๋ฐ์ ์ต๊ณ 1ํ๊ฐ์ฌ ๊น์ํ์ ์ธ์ [2๋ถ]
๊ฐ๋ฐ๋ฐ๋ฅ - ์๊ณจ ์ฒญ๋ ๊ฐ๋ฐ์ ๋๋ค
์ ์ฒด
41๊ฐ โ (6์๊ฐ 24๋ถ)
ํด๋น ๊ฐ์์์ ์ ๊ณต:
์ ์ฒด
800๊ฐ
5.0
800๊ฐ์ ์๊ฐํ
โ
์๊ฐํ 1
โ
ํ๊ท ํ์ 5.0
5
๋์ ์ฟผ๋ฆฌ ์ ์ฉ์ ์ํด ๋จ๊ธฐ๊ฐ์ Querydsl์ ๋ฐฐ์์ผ ํ ํ์๊ฐ ์์๋๋ฐ, ๋ช ํํ ์ค๋ช ๊ณผ ํจ๊ป ์ค์ ์์ ์ฌ์ฉํ๋ ๋ฒ๊น์ง ์์ธํ๊ฒ ์๋ ค์ฃผ์ ์ ๋์์ด ๋ง์ด ๋์์ต๋๋ค. ์ด์ ์ ์ฉํ๋ ์ผ๋ง ๋จ์๋ค์. ๊ฐ์ฌํฉ๋๋ค! :)
๋ค ์ฐ๋น๋ ์ด์ฌํ ์ ์ฉํ์๊ณ , ๊ถ๊ธํ ๋ด์ฉ์ ํธํ๊ฒ ์ง๋ฌธ ์ฌ๋ ค์ฃผ์ธ์^^
โ
์๊ฐํ 18
โ
ํ๊ท ํ์ 5.0
5
๋๋์ด ์ด๋ฒ ๊ฐ์๋ฅผ ๋ง์ง๋ง์ผ๋ก JPA ๋ก๋๋งต์ ๋ง์น๊ฒ ๋์์ต๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ์์ ์ ์๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ํ์ด์ฌ ๋ฐฑ์๋ ๊ฐ๋ฐ๋ก ๋์ด์๋ค๊ฐ ๋ค์ ์๋ฐ์ง์์ผ๋ก ๋์๊ฐ๊ณ ์ถ์ด ๋ณํ๋ ์คํ๋ง ๊ฐ๋ฐํ๊ฒฝ์ ๋ค์ ๊ณต๋ถํด์ผํด์ ์ด๋ป๊ฒ ๊ณต๋ถํ ๊น ๊ณ ๋ฏผํ๋ค๊ฐ ์ธํ๋ฐ์ ์ํ๋์ ๊ฐ์๋ฅผ ์ฐพ๊ฒ ๋์๋ ๊ฒ ์ฌ๊ธฐ๊น์ง ์ค๊ฒ ๋์์ต๋๋ค. ์ ํ๊ฐ์ ๋ด์ฉ์ด ๋ฒ์์น(?) ์์์ ์ง๊ฐํ๊ณ ๊ฐ์๋ฅผ ์ ๋ถ ์ง๋ฌ(?)๋ฒ๋ ธ๋๋ฐ ์ ๋ง ๋ง์กฑํฉ๋๋ค. ๊ทธ๋์ ๋ฐฉํฉํ๋ ๊ฐ๋ฐ ๊ณต๋ถ์ ๋ฐฉํฅ๋ ์ ํ ์ ์๋ ์ข์ ๊ณ๊ธฐ๋ ๋์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
ํํ๋ ๋ก๋๋งต์ ์๋ฃํ์๋ค๋, ์ง์ฌ์ผ๋ก ์ถํ๋๋ฆฝ๋๋ค. ์ฌ๊ธฐ๊น์ง ์๊ฐํ๋ค๋ ์ฌ์ค๋ง์ผ๋ก๋ ํํ๋์ด ์๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ์ฑํฅ์ด ๋ฑ ๋ง๋ ๋ถ์ด๋ผ ์๊ฐํด์. ์์ผ๋ก ์ก์ ๋ฐฉํฅ๋๋ก๋ง ๊ณ์ ๊ณต๋ถํ์๋ฉด ๋ถ๋ช ํ ์ ์ ๋ ์ํ๋ ๊ฐ๋ฐ์๊ฐ ๋์ค ๊ฒ์ด๋ผ ํ์ ํฉ๋๋ค. ๊ณต๋ถํ๋ฉด์ ๋ ๊ถ๊ธํ ๋ด์ฉ์ด ์๊ธฐ๋ฉด ์ธ์ ๋ ์ง ํธํ๊ฒ ์ง๋ฌธ ๋จ๊ฒจ์ฃผ์ธ์^^! ํญ์ ์์ํ ๊ป์!
โ
์๊ฐํ 32
โ
ํ๊ท ํ์ 5.0
5
๊ฐ์ฌ๋์ ๋งฅ๋ถ์คํ์ด ๊ถ๊ธํด์!
๊ฑด์ฐ๋ ์ง๊ธ์ M2 ๋งฅ๋ถ MAX์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค :)
โ
์๊ฐํ 12
โ
ํ๊ท ํ์ 5.0
5
์ฌ์ค ์์ JPA๋ ์ฌ๋ฏธ์์๋๋ฐ DataJPA๋ฅผ ์๊ณ ๋์ '์ ์์ฒญ ํธํ๋ค..'๋ผ๊ณ ๋๊ผ์๋๋ฐ์. ์ด๊ฑธ ํ ๋ฒ ๋ ๊ฒฝํํ๋ค์. ๊ณผ์ฐ JPA์ ๊ฝ์ด๋ค์. Querydsl์ ์๊ณ ๋๋ฉด ๊ฐ๋ฐ์ด ์์ฒญ ์ฆ๊ฑฐ์์ง ๊ฑฐ๋ผ๋ ์ํ๋์ ๋ง์์ด ์๋ฟ์์ต๋๋ค. ์ด์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ Querydsl์ด ๋๋์ฒด ์ผ๋ง๋ ์ข๊ธธ๋ ์ดํ ๋ก ์ถ์ฒํ์๋ ๊ฒ์ผ๊น? ๊ถ๊ธํ์์ต๋๋ค. ๋์ ๋๊ฒ ๋ฌ๋ผ์ง ์ ์ ์๊ฐ๋ฝ์ด ์ ์ ๋๊ณ ์์ต๋๋ค. em.createQuery ๊ดํธ์ด๊ณ ์๋ฐ์ดํ ์น๊ณ ์ฟผ๋ฆฌ ์์ฑํ๋ค๊ฐ DataJPA์์๋ ๋ฉ์๋๋ก ์ฒ๋ฆฌํ๋ค๊ฐ ์กฐ๊ธ ๋ณต์กํ๊ณ ๊ธธ์ด์ง๋๊ฑด @Query๋ก ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ธด ํ์ง๋ง, ์ด์ ๋ s, f, w, f ๋ง ์ณ๋ ์ธํ ๋ฆฌ์ ์ด๊ฐ ๋คํด์ฃผ๋ค์;; ์ ์ ์ ์๊ฐ๋ฝ์ด ๊ทผ๋ฌดํ๋ง์ด ๋์ด๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ํ๋์ด ์ ๊ฐ์๋ค์์ Querydsl ์ด์ผ๊ธฐ๋ฅผ ์์ฃผ ๊บผ๋ด์ ์ด์ ๊ฐ ์ด๊ฑฐ์๊ตฐ์! ใ ใ ใ ํ์ง๋ง ๊ฐ์ ๋ ๋ฌด๋ ต์ '์ธ์์ ๊ณต์ง ์ ์ฌ์ ์๋ค'๋ ๋ง์ด ๋ ์ฌ๋๋๋ฐ์. DataJPA๋ Querydsl ๋ชจ๋ ์์ JPA์ ๋ํ ์ดํด๋ฅผ ๋ฐํ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ง๋ค๊ณ ๋๊ผ์ต๋๋ค. ๋ด๋ถ ์ฝ๋๋ฅผ ๋ค ๊น๋ณด๋ฉด ๊ฒฐ๊ตญ ์์JPA๋ฅผ ์ถ์ํํ ๊ฒ์ด๋๊น์. ๋ญ๋ ํธ๋ฆฌํจ์๋ ๋๊ฐ๊ฐ ํ์ํ ๋ฒ์ด์ฃ . ๋ ์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ค์ ํ๋ฒ ๋ ๊ธฐ๋ณธํธ์ ๋ณต์ตํ๋ฌ ๊ฐ๋ด์ผ๊ฒ ์ด์ ใ ใ JPA์ ์๋ฒ์ง ์ํ๋. ์ ๋ง ์ต๊ณ ์ ๋๋ค! ์ด ๊ฐ์๋ฅผ ์ถ์ฒํฉ๋๋ค!
DolphaGo๋ ๋๋์ด ์ฌ๊ธฐ๊น์ง ์ค์ จ๊ตฐ์^^! ์ฆ๊ฒ๊ณ ์ด์ฌํ ๊ณต๋ถํ์๋ ๋ชจ์ต์ ๋ณด๋ ์ ๋ ์ฐธ ๋ณด๋์ด ์์ต๋๋ค. ํญ์ ์์ํฉ๋๋ค.
โ
์๊ฐํ 2
โ
ํ๊ท ํ์ 5.0
5
[์คํ๋ง ์์ ์ ๋ณต] ๋ก๋๋งต, [์คํ๋ง ๋ถํธ์ JPA] ๋ก๋๋งต, ๋ค ์ฐ์๋ค. ํด~~~ ์ํ๋ ๋ค์๋ ์ธํ๋ฐ์์ ๋ณด๊ณ ์ถ์ง ์์์(๋๋ฌด ํ๋ค์์ด์ ใ ใ ใ ) ํ ๋ฒ๋ ์๊ฐํ ์ ๋จ๊ฒผ๋๋ฐ, ์ฒ์์ด์ ๋ง์ง๋ง์ผ๋ก ํ ๋ง๋๋ง ๋จ๊ฒจ๋ด ๋๋ค. [์คํ๋ง ๊ด๋ จํด์๋ ์ ๋ ๋ ์๊น์ ๋ง๊ณ , ์ํ๋ ๊ฐ์ ๋ค์ผ์ธ์.] (์ํ๋์ ๋์๊ฒ ์๋ฆ์ด์์ด)
๊น์ง์๋ ์ ๋ง ์ด์ฌํ ๋ค์ผ์ จ๊ตฐ์^^ ์ด์ ๋ณธ์ธ ๊ฒ์ผ๋ก ์จ์ ํ ์ฒด๋ํ์ จ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ์์ํฉ๋๋ค!
์ง์๊ณต์ ์๋์ ๋ค๋ฅธ ๊ฐ์๋ฅผ ๋ง๋๋ณด์ธ์!
๊ฐ์ ๋ถ์ผ์ ๋ค๋ฅธ ๊ฐ์๋ฅผ ๋ง๋๋ณด์ธ์!
๊ฐ์๊ฐ ํฌํจ๋ ๋ก๋๋งต์ผ๋ก ํ์ตํด ๋ณด์ธ์!
์ โฉ17,600
5๊ฐ์ ํ ๋ถ ์
โฉ88,000