1.JPA介绍及接口继承关系
JPA是Sun提出的JAVA持久化规范,就是只制定规则,不提供实现,而JPA主要实现由Hibernate,EclipseLink、OpenJPA等实现产品,SpringDataJPA的核心接口是Repository,其是所有Repository的父类,该类下没有任何接口,就是个空类,不过他有几个子类
CrudRepository(基本CRUD接口方法) <---- PagingAndSortingRepository(分页排序接口方法) <------JpaRepository(继承上述俩者) <-----JpaRepository子类,继承关系如上标,所以我们都是通过实现JpaRepository或其子类进行基本的数据库操作
package org.springframework.data.jpa.repository;
import java.util.List;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Sort;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.QueryByExampleExecutor;
@NoRepositoryBean
public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {
List<T> findAll();
List<T> findAll(Sort var1);
List<T> findAllById(Iterable<ID> var1);
<S extends T> List<S> saveAll(Iterable<S> var1);
void flush();
<S extends T> S saveAndFlush(S var1)