[Spring] JPA: ํ์ด์ง
๋ณดํต ๊ฒ์ํ ๊ฐ์๊ฑธ ๊ตฌํํ๋ค๋ณด๋ฉด, ํ์ด์ง ๋ณ๋ก ๊ฒ์๋ฌผ๋ค์ ๋ถ๋ฅํด์ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ์ ํ์๋ก ๋ค์ด๊ฐ๊ฒ ๋ง๋ จ์ด๋ค.
1 ํ์ด์ง๋ฅผ ์ฐพ์ผ๋ฉด 1 ํ์ด์ง ๊ตฌ์ญ์ ๊ฒ์๋ฌผ๋ง ๋ณด์ฌ์ฃผ๊ณ , 2 ํ์ด์ง๋ฅผ ์ฐพ์ผ๋ฉด 2ํ์ด์ง์ ์๋ ๊ฒ๋ง ๋ณด์ฌ์ฃผ๊ณ ... ๊ทธ๋์ผ ํ๋๋ฐ, ์ด๊ฒ๋ ์์ผ๋ก ์ง์ ๊ตฌํํ๋ ค๋ฉด ๊ฝค๋ ๊ท์ฐฎ๊ณ ๋ณต์กํ ์์ ์ด๋ค.
๊ทธ๋์ JPA์์๋ ์ด์ ๋ํ ์๋ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ฌ์ค JPARepository์ ์๋ ์์ฑ๋๋ ๋ฉ์๋ ์ค ํ๋๋ก, Pageable์ ๋ฐ๋ findAll์ ์ค๋ฒ๋ก๋ฉ ๋ฒ์ ์ด ์๋ค!
์ด๊ฑธ ์ฌ์ฉํ๋ฉด ๋๋ค.
ํ ์คํธํ ํ ์ด๋ธ์ ์ํฉ์ ์ด๋ ๋ค

๊ฐ๋จํ๋ค.
์ ๊ฑธ ํ ํ์ด์ง์ 5๊ฐ์ฉ ๋ค์ด๊ฐ๋ ๊ฑธ๋ก ์ชผ๊ฐ๋ณด๊ฒ ๋ค.
๊ทธ๋ฆฌ๊ณ Pageable์ ๊ตฌํํ ํ์
์ธ, PageRequest ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. of๋ผ๋ ์ ์ ๋ฉ์๋๋ฅผ ํตํด ์์ฑํ๋ฉด ๋๋ค.
์ฒซ๋ฒ์งธ ์ธ์๋ ์ ๊ทผํ ํ์ด์ง, ๋๋ฒ์งธ ์ธ์๋ ํ์ด์ง๋น ๊ฐ์.
์์ ์ ์ ์ ์ ๋ฉ์๋ of ๋์ ์์ฑ์๋ฅผ ์ผ๋๋ฐ, ์ง๊ธ์ Deprecated๋๋ค.
์ฌํผ ์ ๋ ๊ฒ ๋๋ฆฌ๋ฉด
์ด๋ ๊ฒ ๋ค์ฏ๊ฐ๋ฅผ ์ ๊ฐ์ ธ์์ค๋ค.
1์ ์ฃผ๋ฉด ๊ทธ ๋ค์ 5๊ฐ๋ฅผ ์ฃผ๊ณ .


2๋ฅผ ์ ๋ฌํ๋ฉด, ์ด์ ๋ง์ง๋ง ๋จ๊ฑฐ์ง 3๊ฐ๋ฅผ ๋์ ธ์ค๋ค.


๊ทธ๋ฆฌ๊ณ ํ์ด์ง์ฉ findAll ๋ฉ์๋๋ ์ฌ์ค List๊ฐ ์๋, Page ๊ฐ์ฒด๋ฅผ ๋์ ธ์ค๋ค.
์ฌ๊ธฐ์๋ ํ์ด์ง์ ์ ์ฉํ ์ฌ๋ฌ๊ฐ์ง ๋ฉ์๋๋ค์ด ๋ค์ด๊ฐ ์๋ค.


์ ๋ ฌ์กฐ๊ฑด ์ค์ ํ๊ธฐ
์ด์ธ์๋ PageRequest ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ธ๋ฒ์งธ ์ธ์๋ก Sort ๊ฐ์ฒด๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์ ๋ ฌ์กฐ๊ฑด์ ์ถ๊ฐํ ์ ์๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก by๋ผ๋ ์ ์ ๋ฉ์๋๋ก ์์ฑํ๋ฉฐ, ์ธ์๋ก๋ ์ ๋ ฌ์ ๊ธฐ์ค์ด ๋ ์ํฐํฐ์ ์ด๋ฆ์ ๋ฃ์ด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ฆ์ฐจ์ ๋ด๋ฆผ์ฐจ์์ descending, ascending ๋ฑ์ผ๋ก ์กฐ์ ํ ์ ์๋ค.
์ด๋ ๊ฒ ๋ง์ด๋ค.
๊ทธ๋ผ ์ด๋ ๊ฒ
๊ฑฐ๊พธ๋ก ์ ๋ ฌํด์ ์ ๋ฟ๋ ค์ค๋ค.
ํ์ด์ง ๋ฉ์๋ ์ปค์คํ
๊ธฐ๋ณธ์ผ๋ก ๊ตฌํ๋ findAll์ ์จ๋ ๋์ง๋ง, ๋น์ฐํ ์ข๋ ๋ณต์กํ ๊ตฌํ์ด ํ์ํ ์ผ์ด ๋ง๋ค.
์ปค์คํ
์ ๋ญ... ์ฌ์ค ๋ณ๊ฑฐ ์๋ค.
๊ทธ๋ฅ ๋ ํฌ์งํ ๋ฆฌ์ ๊ตฌํํ๋ ๊ฒ์๋ค๊ฐ, List ํ์
์ Page๋ก ๋ฐ๊พธ๊ณ , Pageble ํ์
์ ์ธ์๋ฅผ ์ถ๊ฐํ๋ฉด JPA๊ฐ ์์์ ํ์ด์ง ๋ฒ์ ์ผ๋ก ๊ตฌํํด์ค๋ค.

id๊ฐ 100 ์ด์์ธ ๊ฒ๋ง ๊ธ์ด์ค๋๋ก ํ๋ค.

์ ๊ธ์ด์จ๋ค.