ORM框架的作用:
ORM框架可以帮助开发人员完成程序对象到关系数据库数据的映射,从而实现了在项目中即保持以面对对象的思想开发应用程序和持久化数据库,又能利用关系型数据的技术优势,同时使用ORM也会大大减少重复性代码,节省我们的工作时间。
常见ORM框架:Mybatis、Hibernate、TopLink、Ojb
JPA的全称是Java Persistence API, 即Java 持久化API,是SUN公司推出的一套基于ORM的规范,内部是由一系列的接口和抽象类构成。JPA通过JDK 5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
JPA的优势:
-
标准化: JPA 是 JCP 组织发布的 Java EE 标准之一,任何声称符合 JPA 标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。
-
容器级特性的支持: JPA框架中支持大数据集、事务、并发等容器级事务,这使得 JPA 超越了简单持久化框架的局限,在企业应用发挥更大的作用。
-
简单方便: 在JPA框架下创建实体和创建Java 类一样简单,没有任何的约束和限制,只需要使用 Entity注解进行注释即可。同时JPA基于非侵入式原则设计,可以很容易的和其它框架或者容器集成
-
查询能力: JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句。
-
高级特性: JPA 中能够支持面向对象的高级特性,如类之间的继承、多态和类之间的复杂关系,这样的支持能够让开发者最大限度的使用面向对象的模型设计企业应用,而不需要自行处理这些特性在关系数据库的持久化。
JPA与hibernate的关系:
JPA规范本质上就是一种ORM规范,而不是ORM框架,在其中只是提供了一些编程的API接口,而没有ORM的具体实现。JPA和Hibernate的关系就像JDBC和JDBC驱动的关系,JPA是规范,Hibernate除了作为ORM框架之外,它也是一种JPA实现。当使用JPA规范进行数据库操作,底层任需要hibernate来实现。
项目目录:
1. 新建maven工程,在pom.xml中导入坐标:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.hibernate.version>5.0.7.Final</project.hibernate.version>
junit
junit
4.12
test
org.hibernate
hibernate-entitymanager
${project.hibernate.version}
org.hibernate
hibernate-c3p0
${project.hibernate.version}