xxxxxxxxxx
public abstract interface PagingAndSortingRepository extends CrudRepository {
public abstract Iterable findAll(Sort arg0);
public abstract Page findAll(Pageable arg0);
}
xxxxxxxxxx
@GetMapping("/students/{id}")
public Student retrieveStudent(@PathVariable long id) {
Optional<Student> student = studentRepository.findById(id);
if (student.isEmpty())
throw new StudentNotFoundException("id-" + id);
return student.get();
}
xxxxxxxxxx
public interface CrudRepository<T, ID extends Serializable>
extends Repository<T, ID> {
<S extends T> S save(S entity);
T findOne(ID primaryKey);
Iterable<T> findAll();
Long count();
void delete(T entity);
boolean exists(ID primaryKey);
// … more functionality omitted.
}
xxxxxxxxxx
public interface JpaRepository<T, ID extends Serializable>
extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {