Hibernate和jpa区别
1.Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,
它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,
自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
2.JPA
JPA全称是Java Persistence API,即java持久化API,是sun公司推出的一套基于ORM的规范,
内部由一系列的接口和抽象类构成。
3.JPA与Hibetnate的关系
JPA和Hibernate的关系就像JDBC和JDBC驱动的关系,JPA是规范,Hibernate除了作为ORM框架之外,
它也是一种JPA实现。JPA怎么取代Hibernate呢?JDBC规范可以驱动底层数据库吗?答案是否定的,
也就是说,如果使用JPA规范进行数据库操作,底层需要hibernate作为其实现类完成数据持久化工作。
4.Hibernate、JPA与Spring Data JPA之间的关系
JPA是一套规范,内部是有接口和抽象类组成的。hibernate是一套成熟的ORM框架,
而且Hibernate实现了JPA规范,所以也可以称hibernate为JPA的一种实现方式,我们使用JPA的API编程, 意味着站在更高的角度上看待问题(面向接口编程)
Spring Data JPA是Spring提供的一套对JPA操作更加高级的封装,
是在JPA规范下的专门用来进行数据持久化的解决方案。
以上就是对hibernate、JPA与Spring Data JPA三者之间的关系说明。
5.总结:
JPA是一种规范,Hibernate实现了JPA规范,即Hibernate为JPA的一种实现;
而Spring Data JPA是对JPA进行更高级的封装,让其dao编码变得更简单。
谈hibernate,jpa与spring data jpa三者之间的关系