스프링 데이터 JPA-07.Repository 인터페이스 정의하기(스프링 데이터 Common)
스프링 데이터 Common: Repository 인터페이스 정의하기
Repository 인터페이스로 공개할 메소드를 직접 일일히 정의하고 싶다면 (다 받지 말고 쓰는 것만 직접 선언)
특정 리포지토리 당
- @RepositoryDefinition
@RepositoryDefinition(domainClass = Comment.class, idClass = Long.class)
public interface CommentRepository {
Comment save(Comment comment);
List<Comment> findAll();
}
근데 특정 레포지토리 하나가 아닌 공통적으로 전부 적용하고 싶은 경우에는(내가 선언한 것만)
공통 인터페이스 정의
- @NoRepositoryBean
@NoRepositoryBean
public interface MyRepository<T, ID extends Serializable> extends Repository<T, ID> {
<E extends T> E save(E entity);
List<T> findAll();
}
원래 상속받는 레포지토리 대신 내가 만든 MyRepository를 상속받으면 된다.