๐ก
โ ๋ ํฌ์งํ ๋ฆฌ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค ์ ์๋ค.
์ธํฐํ์ด์ค ์ ์ธ ๋ฐฉ๋ฒ๊ณผ, ๊ธฐ๋ณธ์ ์ธ CRUD ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ ๊ณต๋ฐ๊ธฐ ์ํ JpaRepository ์์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ค.
โ JpaRepository์ ์ญํ ๊ณผ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ณ ์ค๋ช ํ ์ ์๋ค.
JpaRepository์ ์์ ๊ณ์ธต(Repository → CrudRepository → PagingAndSortingRepository → JpaRepository)๊ณผ ๊ฐ ์ธํฐํ์ด์ค์ ์ญํ ์ ์ดํดํ๋ค.
โ ์คํ๋ง์ด ๋ ํฌ์งํ ๋ฆฌ ๊ตฌํ์ฒด๋ฅผ ์๋์ผ๋ก ์์ฑํ๋ ๊ฐ๋ ์ ์ค๋ช ํ ์ ์๋ค.
์คํ๋ง์ด JpaRepository ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ฅผ ๋ฐํ์ ์์ ์๋์ผ๋ก ์์ฑํ์ฌ ์ ๊ณตํ๋ ๋ฐฉ์์ ๋ํด ์ค๋ช ํ ์ ์๋ค.
PostRepository ์ ์ฌ์ฉ
//@Repository <-- ์๋ต ๊ฐ๋ฅ ์? ์์ํ ๋
์์๊ฒ ์ด๋
ธํ
์ด์
์ด ์กด์ฌํ๋ค.
public interface PostRepository extends JpaRepository<Article, Integer>{
// ๊ธฐ๋ณธ์ ์ธ CRUD ๊ธฐ๋ฅ์ ์๋์ผ๋ก ์ ๊ณตํ๋ค.
// ํ์ํ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ง๋ค์ด ๋์ ๊ณณ์ ์ถ๊ฐ์ ์ธ ์ฟผ๋ฆฌ๋ ๋ฉ์๋ ์ ์ ๊ฐ๋ฅํ๋ค.
}
๋ฌธ๋ฒ ํ์ธ
JpaRepository<T, ID>
์ฒซ ๋ฒ์งธ ํ์ (Article)
- ์ํฐํฐ ํด๋์ค๋ฅผ ๋ฃ์ด์ผ ํฉ๋๋ค. ์ด ํด๋์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ๊ณผ ์ฐ๊ฒฐ๋๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์กฐํํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, Article์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ article ํ ์ด๋ธ๊ณผ ์ฐ๊ฒฐ๋๋ ํด๋์ค์ ๋๋ค.
๋ ๋ฒ์งธ ํ์ (Integer)
- ๊ธฐ๋ณธ ํค(Primary Key)์ ๋ฐ์ดํฐ ํ์ ์ ๋ฃ์ต๋๋ค. ์ฆ, ์ํฐํฐ ํด๋์ค์ ๊ธฐ๋ณธ ํค ํ๋(๊ณ ์ ID)๊ฐ ์ด๋ค ํ์ ์ธ์ง ์ง์ ํฉ๋๋ค.
- ์ฌ๊ธฐ์๋ Integer ํ์ ์ ๊ธฐ๋ณธ ํค(์: id ํ๋)๊ฐ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.