JPA를 편리하게 사용하도록 도와주는 도구, Spring에서 제공한다.
- EntityManager를 직접 관리하지 않아도 됨
- 스프링 예외 추상화를 지원
- 공통 인터페이스 기능 지원
- 런타임 동작
JpaRepository
를 구현하는SimpleJpaRepository
를 사용- (예시) 작성한
JpaRepository
를 상속하는AbcRepository
의 구현체인AbcRepositoryProxy
를 사용 AbcRepository
를 사용하는 서비스 객체는 인터페이스를 의존하므로 이런 변경을 알 필요 없음- 참고로
SimpleJpaRepository
는@Repository
와@Transactional
을 적용하고 있다.- 따라서
JpaRepository
를 상속받는 인터페이스는@Repository
를 사용하지 않아도 되고, - 꼭 필요하지 않다면
@Transactional
을 사용하지 않아도 된다.
- 따라서