Repository ?
JPA를 직접 사용 하는, 데이터베이스와 상호작용을 담당하는 인터페이스.
Spring DATA JPA에서는 Entity Manager(EM) 를 직접 사용하지 않고도 코드를 작성할 수 있다.
Data Access Object 역할을 하는 Repository 인터페이스를 설계한 후 사용하는 것 만으로 충분하기 때문.
Repository는 JpaRepository를 상속받은 .class 가 아니라 .interface 이다.
때문에 Repository에서는 직접적인 구현을 하지 않고 추상화하여
데이터베이스와의 직접적인 상호작용을 최소화 할 수 있게 도와준다.
public interface ItemRepository extends JpaRepository<Item, Long>
JPARepository는 2개의 제네릭 타입을 사용하는데,
첫 번째 : Entity Type Class
두 번재 : Primary Key Type 을 명시한다.
위 코드를 예로 들자면 ,
1. @Entity Annotation을 붙인 클래스의 명이 Item
2. Item.class 의 기본키(PK) 형식이 Long 이라는 뜻이다.
이와 같이 간단한 설정만으로 이제 JPA와 관련된 다양한 기능들을 이용할 준비가 되었다.