JpaRepository ์ ๋ง์ง๋ง์ผ๋ก ์ดํด๋ณผ ๊ธฐ๋ฅ์ ์ฟผ๋ฆฌ ๋ฉ์๋๋ผ๋ ๊ธฐ๋ฅ๊ณผ
JPQL์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด์งํฅ์ฟผ๋ฆฌ์ ๋ํ ๊ธฐ๋ฅ์ ๋๋ค.
์์ ์์ ์์ ์์ฌ์ด ์ ์ ๋ค์ํ ๊ฒ์ ์กฐ๊ฑด์ ๋ํ ๋ถ๋ถ์ ๋๋ค.
Spring Data JPA์ ๊ฒฝ์ฐ์๋, ์ด๋ฌํ ์ฒ๋ฆฌ๋ฅผ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
- ์ฟผ๋ฆฌ ๋ฉ์๋ : ๋ฉ์๋ ์ด๋ฆ ์์ฒด๊ฐ ์ฟผ๋ฆฌ์ ๊ตฌ๋ฌธ์ผ๋ก ์ฒ๋ฆฌ๋๋ ๊ธฐ๋ฅ
- @Query : SQL๊ณผ ์ ์ฌํ๊ฒ ์ํฐํฐ ํด๋์ค์ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ
- Querydsl๋ฑ์ ๋์ ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ๊ธฐ๋ฅ
2.6.1 ์ฟผ๋ฆฌ ๋ฉ์๋
์ฟผ๋ฆฌ ๋ฉ์๋๋ ๋ง ๊ทธ๋๋ก '๋ฉ์๋์ ์ด๋ฆ ์์ฒด๊ฐ ์ง์๋ฌธ'์ด ๋๋ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ์ ๋๋ค.
์ฟผ๋ฆฌ ๋ฉ์๋์ ์ฃผ๋ก 'findBy๋ getBy'๋ก ์์ํ๊ณ
์ฌ์ฉํ๋ ํค์๋์ ๋ฐ๋ผ์ ํ๋ผ๋ฏธํฐ ๊ฐ์๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค.
๊ฐ์ฅ ์ค์ํ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
- select๋ฅผ ํ๋ ์์ ์ด๋ผ๋ฉด List ํ์ ์ด๋ ๋ฐฐ์ด์ ์ด์ฉํ ์ ์๋ค.
- ํ๋ผ๋ฏธํฐ์ Pageable ํ์ ์ ๋ฃ๋ ๊ฒฝ์ฐ์๋ ๋ฌด์กฐ๊ฑด Page<E> ํ์
์๋ฅผ๋ค์ด Memo๊ฐ์ฒด์ mno๊ฐ์ด 70๋ถ์ฒ 80์ฌ์ด์ ๊ฐ์ฒด๋ค์ ๊ตฌํ๊ณ
mno์ ์ญ์์ผ๋ก ์ ๋ ฌํ๊ณ ์ถ๋ค๋ฉด
๋ค์๊ณผ ๊ฐ์ ๋ฉ์๋๋ฅผ MemoRepository ์ธํฐํ์ด์ค์ ์ถ๊ฐํ๊ฒ ๋ฉ๋๋ค.
List<Memo> findByMnoBetweenOrderByMnoDesc(Long from, Long to);
deleteBy๋ก ์์ํ๋ ์ญ์ ์ฒ๋ฆฌ
์ฟผ๋ฆฌ๋ฉ์๋๋ฅผ ์ด์ฉํด์ 'deleteBy'๋ก ๋ฉ์๋์ ์ด๋ฆ์ ์์ํ๋ฉด ํน์ ํ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ฉ๋ชจ์ ๋ฒํธ(mno)๊ฐ 10๋ณด๋ค ์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ ์์๋ deleteBy๋ฅผ ์ด์ฉํ๋ ๋ฐฉ์๋ณด๋ค๋ @Query๋ฅผ ์ด์ฉํด์ ์์ ๊ฐ์ ๋นํจ์จ์ ์ธ ๋ถ๋ถ์ ๊ฐ์ ํฉ๋๋ค.
2.6.2 @Query ์ด๋ ธํ ์ด์
Spring Data JPA๊ฐ ์ ๊ณตํ๋ ์ฟผ๋ฆฌ ๋ฉ์๋๋
'Spring > ๐ฅ[spring]์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ ์น ํ๋ก์ ํธ_๊ตฌ๋ฉ๊ฐ๊ฒ ์ฝ๋ฉ๋จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3.2 Thymeleaf์ ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ (0) | 2023.02.04 |
---|---|
2.6.2 @Query ์ด๋ ธํ ์ด์ (0) | 2023.01.31 |
2.5 ํ์ด์ง/ ์ ๋ ฌ ์ฒ๋ฆฌํ๊ธฐ (0) | 2023.01.29 |
2.4.3 JpaRepository ์ธํฐํ์ด์ค (0) | 2023.01.29 |
2.4 ์ํฐํฐ ํด๋์ค์ JpaRepository ~ (0) | 2023.01.28 |