본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


카테고리 없음

Spring Data JPA 사용자 정의 Repository

반응형

-스프링 데이터 JPA 리파지토리는 인터페이스만 정의하고 구현체는 스프링이 자동완성

인터페이스를 직접 구현하면 구현해야 하는 기능이 너무 많음

-인터페이스의 메서드를 직접 구현해서 사용하고 싶을 경우에 사용자 정의 repository를 사용한다

 

인터페이스를 만들고 그 인터페이스를 구현할 클래스를 따로 만들어 준 후 

JpaRepository를 상속받는 인터페이스에서 JpaRepository와 함께 위의 직접구현한  인터페이스를 상속받게하면 

JpaRepository의 메소드가아닌 직접구현한  인터페이스의 메소드가 실행됨

 

JpaRepository인터페이스 안에 메서드가 아니고 ,
직접 customizing이 필요한 복잡한 쿼리를 사용하거나
Mybatis ,jdbc 템플릿, queryDSL 같은 것을 사용하고 싶을때에
사용자정의 repository를 사용한다.

 

규칙이 하나있다

 

사용자정의 repository 인터페이스를 구현하는 클래스의 이름은

JpaRepository를 상속받는 인터페이스의 이름 + Impl로 지어야한다.

ex )

JpaRepository를 상속받는 인터페이스명 -> memberRepository

사용자 정의 인터페이스명->memberRepositoryCustom( 아무거나상관없음)

사용자 정의 인터페이스를 구현하는 클래스명->memberRepositoryImpl

 

반응형