springDataJpa
Last updated
Last updated
๋ฒํฌ์ฑ ์์ ์ฟผ๋ฆฌ๋ ์์์ฑ ์ปจํ ์คํธ๋ฅผ ๋ฌด์ํ๊ธฐ ๋๋ฌธ์ ๋ค์์ ์กฐํ ์ฟผ๋ฆฌ๊ฐ ๋์ฌ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด cleatAutomatically๋ฅผ true๋ก ์ธํ
์ถ์ฒ : https://jojoldu.tistory.com/372
querydsl์ ์ฌ์ฉํ ๋ ์ปค์คํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ์ ์ ์ํ ์ ์๋ค.
๋ํ ์์ jpa๋ฅผ ์ฌ์ฉํ๋ค๊ฑฐ๋, jdbc template, mybatis ๊ฐ์ด ์ธํฐํ์ด์ค์ ๋ฉ์๋๋ฅผ ์ง์ ๊ตฌํํ๊ณ ์ถ๋ค๋ฉด ์์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ปค์คํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ์ํ ์ ์๋ค.
interface์ ์ด๋ฆ์ ์๊ด์์ง๋ง ๊ตฌํ์ฒด๋ ์ธํฐํ์ด์ค์ด๋ฆ + Impl์ด ๋์ด์ผ ํ๋ค. ์์ ๊ฐ์ด ์ ์ํ์ ๋, ์๋ MemberRepository+Impl ์ด๋ ๊ฒ ๊ตฌํ์ฒด ์ด๋ฆ์ ์ง์ผ ํ์ง๋ง ์คํ๋ง ๋ฐ์ดํฐ 2.x๋ฒ์ ๋ถํฐ๋ MemberRepositoryCustom+Impl ์ด ๋ฐฉ์๋ ์ง์ํด์ค๋ค. ์๋ก ๋ง๋ ์ปค์คํ ์ธํฐํ์ด์ค์ Impl์ ์ถ๊ฐํ๋ฉด ๋๋ฏ๋ก ๋ ์ง๊ด์ ์ด๊ณ , ์ฌ๋ฌ ์ธํฐํ์ด์ค๋ฅผ ๋ถ๋ฆฌํด์ ์ฌ์ฉ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ๋ค๋ฉด ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ง๋ค.
์์ ๊ฐ์ด ์ฌ์ฉํ๋ ๊ฒ์ Spring Data Jpa์ ํน์ฑ์ ํ์ฉํ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ํญ์ ์์ฒ๋ผ ์ฌ์ฉ์ ์ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ ํ์ํ ๊ฒ์ ์๋๋ค. ๊ทธ๋ฅ ์์์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ ๋๋ค. ์๋ฅผ๋ค์ด MemberQueryRepository๋ฅผ ์ธํฐํ์ด์ค๊ฐ ์๋ ํด๋์ค๋ก ๋ง๋ค๊ณ ์คํ๋ง ๋น(@Repository)์ผ๋ก ๋ฑ๋กํด์ ๊ทธ๋ฅ ์ง์ ์ฌ์ฉํด๋ ๋๋ค. ๋ฌผ๋ก ์ด ๊ฒฝ์ฐ ์คํ๋ง ๋ฐ์ดํฐ JPA์๋ ์๋ฌด๋ฐ ๊ด๊ณ ์์ด ๋ณ๋๋ก ๋์ํ๋ค.