org.springframework.data.repository

## Interface Repository<T,ID>

Type Parameters:
  `T` - the domain type the repository manages
  `ID` - the type of the id of the entity the repository manages

All Known Subinterfaces:
  CrudRepository<T,ID>, PagingAndSortingRepository<T,ID>, ReactiveCrudRepository<T,ID>, ReactiveSortingRepository<T,ID>, RevisionRepository<T,ID,N>, RxJava2CrudRepository<T,ID>, RxJava2SortingRepository<T,ID>, RxJava3CrudRepository<T,ID>, RxJava3SortingRepository<T,ID>

    @Indexed
    public interface Repository<T,ID>

Central repository marker interface. Captures the domain type to manage as well as the domain type's id type. General purpose is to hold type information as well as being able to discover interfaces that extend this one during classpath scanning for easy Spring bean creation.

Domain repositories extending this interface can selectively expose CRUD methods by simply declaring methods of the same signature as those declared in `CrudRepository`.

Author:
  Oliver Gierke
See Also:
  `CrudRepository`