아카이브

[스프링 데이터 JPA] 스프링 데이터 JPA 1. JPA Repository 본문

Spring/스프링 데이터 JPA

[스프링 데이터 JPA] 스프링 데이터 JPA 1. JPA Repository

주멘이 2021. 1. 16. 22:27

@EnableJpaRepositories 

  • spring data의 Repository 인터페이스를 상속받은 인터페이스로부터 구현 객체를 생성해준다.
  • @EnableJpaRepositories 애노테이션을 사용해야 JpaRepository 인터페이스를 상속받은 Repository 인터페이스 타입의 Proxy 빈들을 등록 해준다
  • 스프링 부트 사용할 때는 사용하지 않아도 자동 설정 됨
    스프링 부트 사용하지 않을 때는 @Configuration과 같이 사용

스프링 @Repository

  • SQLExcpetion 또는 JPA 관련 예외를 스프링의 DataAccessException 계층구조 하위클래스중 하나로 변환 해준다.
  • 예외만 보더라도 어떤일이 발생했는지 이해하기 쉽도록 변환해줌
  • 기본적인 스프링 프레임워크의 기능

DataAccessException의 목적

  • SQLException은 CODE 값을 따라서 찾아봐야 하는 불편함이 존재.
  • DataAccessException 계층구조를 만들고 SQLException의 CODE 값에 따른 굉장히 구체적인 하위 클래스들 중 하나로 맵핑해서 
  • 이름만 봐도 알 수 있을 정도로 제공한다
  • Hibernate, JPA 같은 경우는 이미 충분히 예외가 잘 만들어져 있음
    • JpaSystemException은 DataAccessException으로 변환 된것 임