Java 杂谈JAVA学习记录Java

《Spring实战》-第十一章:利用对象-关系映射持久化数据

2019-03-27  本文已影响4人  廖小明的赖胖子

慢慢来比较快,虚心学技术

原文链接:《Spring实战》-第十一章:利用对象-关系映射持久化数据

一、什么是对象-关系映射(ORM)/为什么需要对象-关系映射

先来了解几个概念:

实际上,我们通常所说的持久化,一般指的持久化数据到数据库中。

在数据持久化的世界里面,传统的dao已经很难满足开发的需求,或者显得过于臃肿耦合,程序代码中存在大量的问号字符串(SQL语句)。那么,使用对象-关系映射将对象属性映射到数据库表的列字段,从而实现操作对象以操作数据记录,简化代码就很有必要了,同时我们还需要学习用到几个特性:

一些可用框架提供了上述服务,这些服务的通用名称是对象 / 关系映射( object-relational mapping , ORM )。在持久层使用 ORM 工具,可

以节省数千行的代码和大量的开发时间。 ORM 工具能够把你的注意力从容易出错的 SQL 代码转向如何实现应用程序的真正需求。

二、Spring对ORM框架的支持与扩展

Spring对多个持久化框架的集成提供了支持,这些框架包括
Hibernate:可能是最常用的ORM框架,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

iBATIS:Apache推出的一种轻量级的对象关系映射(ORM)框架

Java数据对象( Java Data Objects , JDO ): 是一个应用程序接口(API),它是Java程序员能够间接地访问数据库,也就是说,不需使用直接的结构化查询语言(SQL)语句。JDO是作为Java数据库连接(JDBC)的一个补充来介绍的,而JDBC是一个支持使用SOL语句对流行的数据库程序进行访问的接口。有了 JDO,程序员就可以使用类来定义数据对象,然后支撑程序就会根据类的定义来管理对给定数据库的实际的数据访问了。

Java持久化 API ( Java Persistence API , JPA ):JAVA 持久化API,是EJB 3.0 的专家推出,作为 JSR-220的一部分,简单点来说可以理解为是一个JAVA的标准规范,这个规范为对JAVA对象的持久化制定了一些标准的接口,也可以说,JPA****是一个标准的ORM(对象关系映射)规范,提出这个规范,一方面是为了简化EJB中对于对象持久化的操作,另一方面,也希望通过制定统一规范,达到一统ORM标准的目的

除了对这些框架提供集成支持,Spring还提供了额外的扩展增强服务:

三、JPA框架分析

简单来说,JPA只是一套规范,用于统一对象持久化操作的标准。其架构组成如下:

JPA的主要组成封装于Javax.persistence.jar包中:

  1. Persistence****:主要提供静态方法获取EntityManagerFactory实例
  2. EntityManagerFactory****:作为EntityMannage的工厂类,用于生产并管理多个EntityManager
  3. EntityManager****:****管理持久化对象,作为数据库操作的接口
  4. EntityTransaction****:用于管理EntityManager操作,每个EntityManager对应一个EntityTransaction
  5. Query****:由JPA供应商提供,能够获取一个标准的关系对象并执行数据库操作
  6. Entity****:持久化对象/实体
上一篇 下一篇

猜你喜欢

热点阅读