[Project] QueryDSL ๋ฌธ์ ํด๊ฒฐ
Categories: Project
๐ ๊ฐ์ธ์ ์ธ ๊ณต๊ฐ์ผ๋ก ๊ณต๋ถ๋ฅผ ๊ธฐ๋กํ๊ณ ๋ณต์ตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ธ๋ก๊ทธ์
๋๋ค.
์ ํํ์ง ์์ ์ ๋ณด๊ฐ ์์ ์ ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค :๐ธ
[ํ๋ฆฐ ๋ด์ฉ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ๋ณต๋ฐ์ผ์ค๊ฑฐ์์]
์๋ฌ 1
-
QueryDSL ์ ์ ์ฉํ๊ณ ๋์ ๋ฐ๋ก ๊ฒช์ ๋ฌธ์ โฆ!
์ ๊ทธ๋ฐ๊ฐ ํ๊ณ ์ฐพ์๋ณด๋ค๊ฐ ํน์ ์์๊ฐ ์ค์ํ๊ฐ ํด์ ์์ ํ๋๋ ํด๊ฒฐ๋์๋ค.
์๋ฌด๋ฆฌ ํด๋ ์๋๋๋ ๋ฉ์๋ ์์๋๋ก ๋งค๊ฐ๋ณ์ ์์๋ฅผ ์กฐ์ ํ๋๊น ํด๊ฒฐ๋จโฆ!
์๋ฌ2
- ๋ฌธ์
-
์ด์ ๋ ์ค ์์๋๋ฐ status/ buyerCode/ itemCode ์ค์ ํ๋๋ผ๋ ์ ๋ฃ์ผ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋์ค์ง ์์
-
์กฐ๊ฑด์ ๋ชจ๋ ๋ค ๋ฃ์ผ๋ฉด ์๋ง๋์จ๋ค
-
null ์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐ๋์ด์ requestParam์ผ๋ก ๋ฐ๋ ๊ฒ์ DTO ํด๋์ค๋ก ๋ณ๊ฒฝํด์ ๋ฐ์์ง๋ง ๊ทธ๋๋ ํด๊ฒฐ๋์ง ์์๋ค.,
-
- ํด๊ฒฐ
- ์์ธ
- ๊ธฐ์กด์ ๋ง๋ค์๋ OrderHeadersRepository ์ธํฐํ์ด์ค์์ JPA๊ฐ ์๋์ผ๋ก ๋ฉ์๋๋ฅผ ์์ฑํ๋ ค๊ณ ์๋ํด์ ์๊ธด ๋ฌธ์ ๋ผ๋ ๊ฒ์ ์๊ฒ๋์๊ณ - ๊ธฐ์กด์ JPARepository๋ฅผ ์์๋ฐ์ OrderHeadersRepository์์
findByRequestDateBetweenAndOrderStatusAndBuyer_BuyerCdAndOrderItems_ItemCD
๋ฉ์๋๋ฅผ ์ ๊ฑฐํ๊ณ - OrderQueryRepositoryCustom์์๋ ์์๋ ์ง์ ๋ค.
OrderQueryRepositoryImpl
ํด๋์ค์์ QueryDSL๋ก ์ฟผ๋ฆฌ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ๋๋ ํด๊ฒฐ๋์๋ค.
- ๊ธฐ์กด์ ๋ง๋ค์๋ OrderHeadersRepository ์ธํฐํ์ด์ค์์ JPA๊ฐ ์๋์ผ๋ก ๋ฉ์๋๋ฅผ ์์ฑํ๋ ค๊ณ ์๋ํด์ ์๊ธด ๋ฌธ์ ๋ผ๋ ๊ฒ์ ์๊ฒ๋์๊ณ - ๊ธฐ์กด์ JPARepository๋ฅผ ์์๋ฐ์ OrderHeadersRepository์์
- ๊ฒฐ๊ตญ OrderHeadersRepository (JPARepository)๋ฅผ OrderQueryRepositoryCustom์์ ์์๋ฐ์ ์ฌ์ฉํ๋๋ฐ ์ด๋ฅผ ์ ๊ฑฐํ๋๋ null ์ด ๋ค์ด์๋ ๋์ ์ผ๋ก ์ ์ฒ๋ฆฌ๋๋ค.
- ์์ธ
๋๊ฐ์ง ๋ฌธ์ ๋ชจ๋ ๊ธฐ์กด์ ์๋ OrderHeadersRepository๋ฅผ ์์๋ฐ์ ๊ตฌํํ์์๋ ๋ฐ์ํ ๋ฌธ์ ์ธ๋ฐ ๊ตณ์ด ์์์ ๋ฐ์ง ์๊ณ custom interface์ ์ด๋ฅผ ๊ตฌํํ๋ implํด๋์ค๋ง ์์ผ๋ฉด ๋ชจ๋ ํด๊ฒฐ ๋๋ค.
Leave a comment