第五节 JPA,Hibernate与Spring Data JPA

2002年,Martin Fowler在他的名著《企业应用架构模式》中首次提出“数据映射器(Data Mapper)”模式,将面向对象的领域模型映射到关系数据库中。

2003年,澳大利亚程序员Gavin King,数据系统素人,因为嫌弃EJB Entity Bean 1.1的架构复杂,自行开发了一个对象关系映射框架Hibernate。值得一提的是,此前他从未用SQL开发过任何系统。为了开发Hibernate,他临时去书店买了一个SQL基础的书。现在Hibernate已经成为最流行的对象关系影射(ORM)工具。

Gavin King

2006年,EJB 3.0软件专家组发布了Java Persistence API(简称JPA)规范1.0版。对对象-关系映射(ORM)进行了规范化。JPA不限于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。现在是Java数据库持久化的标准。目前发布了2.2版。

Hibernate实现了JPA,是目前为止最流行的JPA规范的实现。

Spring Data JPA是对JPA的一层封装,它使得我们在定义针对JPA的查询的时候,可以只针对持久化对象的属性定义查询接口,而由Spring自动提供实现,大大简化了基于JPA的查询操作。

当前基于JPA的数据访问,一般做法是:

  • 基于JPA进行对象-关系映射。
  • 基于Spring Data JPA定义查询,进行数据存取和访问。
  • Hibernate作为JPA的实现,隐于幕后。任何代码都没有直接使用到Hibernate

本书后面的叙述,都是基于这个思路铺开。

results matching ""

    No results matching ""