首页 > 技术文章 > Spring Data系列之Jpa(一)

huiyuantang 2016-04-25 17:41 原文

1、Spring Data的由来

  Spring Data是SpringSource基金会创下的一个简化数据库访问、支持云服务的开源框架。其主要目的是让数据库访问变的方便快捷,可以用Spring Data框架简化项目的开发。

2、什么是JPA???

  JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-------关系表映射关系,并将运行期的实体对象持久化(对象持久化是指将内存中的对象保存到可永久保存的存储设备中(如磁盘)的一种技术。)到数据库中。

3、Spring Data Jpa的核心接口

  这个接口只是一个空的接口,目的是为了统一所有Repository的类型,其接口类型使用了泛型,泛型参数中T代表实体类型,ID则是实体中id的类型。 说白了这是一个超级接口。

  以下是Repository的直接子接口CrudRepository中的方法:

public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {  
  
    <S extends T> S save(S entity);  
  
    <S extends T> Iterable<S> save(Iterable<S> entities);  
  
    T findOne(ID id);  
  
    boolean exists(ID id);  
  
    Iterable<T> findAll();  
  
    Iterable<T> findAll(Iterable<ID> ids);  
  
    long count();  
  
    void delete(ID id);  
  
    void delete(T entity);  
  
    void delete(Iterable<? extends T> entities);  
  
    void deleteAll();  
}  

  此接口中的方法大多是我们在访问数据库中常用的一些方法,如果我们要写自己的DAO类的时候,只需定义个接口来继承它便可使用了。

再来看看Spring Data未我们提供分页和排序的Repository的接口PagingAndSortingRepository: 

public interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID> {  
  
    Iterable<T> findAll(Sort sort);  
  
    Page<T> findAll(Pageable pageable);  
}  

  

推荐阅读