
Repository ~ JpaRepository 까지는 **@NotRepositoryBean** 이 붙어있는 인터페이스이다.
**SimpleJpaReository** 구현체 빈이 등록된다.@SpringBootApplication 을 통해 자동으로 붙여지는 @EnableJpaRepositories 의 JpaRepositoriesRegistrar 를 통해서 등록된다.기존 Repository vs 새로운 JpaRepository
@Repository 을 클래스에 붙인다.@NotRepositoryBean 된 **상위 인터페이스들의 기능을 포함한 구현체가 프로그래밍된다. (@NotRepositoryBean** = 빈생성 막음)@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();
}