사용자 정의 리포지토리 구현


→ 기존의 스프링 데이터 JPA는 모두 인터페이스로 되어 있다. 해당 인터페이스를 상속받아 모두 구현하는 것은 불가능에 가깝다.

그렇다면 특정한 기능(MyBatis의 라이브러리 기능 사용 등등...)을 사용 할 수 있게 사용자 정의 리포지토리 기능을 JPA에서 제공한다.

사용자 정의 인터페이스

참고: 실무에서는 주로 QueryDSL이나 SpringJdbcTemplate을 함께 사용할 때 사용자 정의 리포지토리 기능 자주 사용

참고: 항상 사용자 정의 리포지토리를 사용해야 하는 것은 아니다. 그냥 임의의 리포지토리를 만들어도 된다.

사용자 정의 리포지토리 구현 최신 방식

→ 스프링 데이터 2.x 부터는 사용자 정의 구현 클래스에 리포지토리 인터페이스 이름 + Impl 을 적용하는 대신 사용자 정의 인터페이스 명 + Impl 방식도 지원한다.


Auditing