相同处:
不同处:

JDBC是我们最熟悉的用来操作数据库的技术,但是随之而来带来了一些问题: 1. 需要面向SQL语句来操作数据库,开发人员学习成本更高。
2. 数据库的移至性不高,不同数据库的SQL语句无法通用。
3. java对象和数据库类型的映射是个麻烦事。
在Sun在JDK1.5提出了JPA:
JPA全称Java Persistence API(2019年重新命名为 Jakarta Persistence API ),是Sun官方提出的一种ORM规范。
O:Object R: Relational M:mapping
作用:
1.简化持久化操作的开发工作:让开发者从繁琐的 JDBC 和 SQL 代码中解脱出来,直接面向对象持久化操作。
2.Sun希望持久化技术能够统一,实现天下归一:如果你是基于JPA进行持久化你可以随意切换数据库。 该规范为我们提供了:
1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对 象持久化到数据库表中;
如:@Entity 、 @Table 、@Id 与 @Column等注解。
2)JPA的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和 SQL代码中解脱出来。
如:entityManager.merge(T t);
3)JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。 如:from Student s
where s.name = ? So: JPA仅仅是一种规范,也就是说JPA仅仅定义了一些接口,而接口是需要实现才能工作的。
所以底层需要某种实现,而Hibernate就是实现了JPA接口的ORM框架。 也就是说: JPA是一套ORM规范,Hibernate实现了JPA规范!

当前主流的两个框架:mybatis和Hibernate
【mybatis】
【hibernate】
持续更新…