JPA全程:Java Persistence API.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
JPA(Java Persisitence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。
Hibernate:是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操控数据库。Hibernate可以应用在任何使用JDBC的成和,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命的意义是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
JPA/Hibernate关系?
Jpa是一种规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用Jpa的一个好处是,可以更换实现而不必改动太多代码。
ORM(Object Relational Mapping)框架:是对象关系映射的意思,是一种程序技术,用于实现面向对象编程语言里不同系统类型的系统之间的数据转换。
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要的目标是使得数据库的访问变得方便快捷,把那个支持map-reduce框架和云计算数据服务。此外,它还支持基于关系型数据库的数据服务,如Oracle REC等。对于拥有海量数据的项目,可以用Spring Data来简化项目开发,就如Spring FrameWork对JDBC、ORM的支持一样,Spring Data会让数据的访问变得更加方便。
Spring Data JPA:可以极大的简化JPA的写法,可以在几乎不用写实现方法的情况下实现对数据的访问和操作,除了CRUD外,还包括分页、拍下等一些常用功能。
首先我们需要清除的是SPring Data是一个开源框架,在这个框架中Spring Data JPA只是这个框架中的一个模块,所有名称才叫Spring Data JPA。如果单独使用JPA开发,你会发现这个代码量和使用JDBC开发一样有点烦人,所以SPring Data JPA的出现就是为了简化JPA的写法,让你只需要编写一个接口继承一个类就能实现CRUD操作了。