1.什么是JPA?
- JPA全称Java Persistence API,jpa通过jdk5.0注解或xml描述对象一关系表的映射关系,并将运行期的实体对象持久化到数据库中。
- 是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。
- 持久化是将程序数据在持久状态和瞬时状态间转换的机制。 JDBC就是一种持久化机制。
2.什么是Hibernate?
- Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架。(ORM是对象关系映射的意思,用于实现面向对象编程语言里不同系统类型的系统之间的数据转换)。
- hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
- Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用
3.什么是Spring Data?
- Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。
- 使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。
- 它还支持基于关系型数据库的数据服务,对于拥有海量数据的项目,可以用Spring Data来简化项目的开发,就如Spring Framework对JDBC、ORM的支持一样,Spring Data会让数据的访问变得更加方便。
4.什么是Spring Data JPA?
- Spring Data是一个开源框架,在这个框架中Spring Data JPA只是这个框架中的一个模块,所以名称才叫Spring Data JPA。
- 如果单独使用JPA开发,这个代码量和使用JDBC开发一样有点烦人,所以Spring Data JPA的出现就是为了简化JPA的写法,让你只需要编写一个接口继承一个类就能实现CRUD操作了。
- crud是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。
5JPA/Hibernate 关系?
- JPA是一种规范,而Hibernate是它的一种实现。所以使用JPA的一个好处是,可以更换实现而不必改动太多代码。