[基础回顾]ORM和JPA

ORM思想

  • 主要解决对象关系的映射,把关系型数据库中表的记录映射成对象,以对象的形式展示.
  • 程序媛把对数据库的操作 转化为 对对象的操作,
  • ORM利用元数据来描述对象-关系映射细节
  • ORM框架是对JDBC的封装
  • (业务逻辑层,数据库层,持久化层)—>对象关系映射文件(.XML)
  • ORM API 给我们提供了里面的类和方法

java应用程序如何访问数据库呢?

  • 各大数据库厂商(MYSQL,Oracle,SQLServer,DB2)提供了一套自己公司的API让java应用程序进行访问,
  • java应用程序就根据他们提供的API来访问数据库,
  • 但是由于数据库的厂商多,导致 使用 不同数据库的时候,需要连接操作数据库的实现完全不一样,
  • 于是:sun公司提出来了一组规范(接口)JDBC,实际上定义了接口,但是没有实现,SUN公司使用各个数据库厂商提供的实现类的jar包,也就是所谓的JDBC驱动.

JPA

用于对象持久化的API
java5.0标准的ORM规范,使得应用程序以统一的方式来访问数据库,

每一个框架实现的标准和方式都不同
统一了java应用程序访问各大ORM框架的方式.

JPA是hibernate的一个抽象(就像JDBC和JDBC驱动的关系),

  • JPA只提供了一组规范(一些编程的API接口),没有具体的实现,具体的实现由ORM框架(hibernate,openJPA,TopLink)厂商来提供.

hibernate是JPA的一个实现,
JPA是hibernate功能的一个子集.

JPA优势和3大技术:

优势:

l 可持久化Java对象。JPA能够直接持久化复杂的Java对象,并能够使用JPQL语言进行复杂的查询。JPQL是JPA专用的查询语言,是类似于SQL的面向对象的查询语言。

l 使用简单。JPA使用注释(Annotation)定义Java对象与关系数据库之间的映射,而传统的ORM多使用xml配置文件。JPA使用起来比ORM要方便。使用JPA不用关注底层使用什么数据库。

l 规范标准化。JPA是JCP组织发布的,是Java官方规定的统一的API。目前已经有多种框架实现JPA标准。使用了JPA的系统可以自由选择遵循JPA标准的框架,并能够自由更换。

l 事务性、大数据量。JPA底层使用关系数据库进行存储,因此具备关系数据库的特点,例如事务性、数据完整性、并发访问、大数据量等。

l 与其他持久化技术相比,JPA有很大的技术优势。表列出了JPA与其他持久化技术的比较。

技术:

  1. ORM映射元数据(JDK5.0注解,xml)<—元数据形式
  2. JPA的api(执行CRUD操作)
  3. 查询语言(JPQL)(持久化操作,减少程序和具体的SQL的紧密耦合)

猜你喜欢

转载自blog.csdn.net/Estelle_ya/article/details/81282255
今日推荐