原创 | 使用 JPA 实现 DDD 持久化 -JPA,Hibernate 与 Spring Data JPA



2002 年,Martin Fowler
在他的名著《企业应用架构模式》中首次提出“数据映射器(Data Mapper
)”模式,将面向对象的领域模型映射到关系数据库中。
2003 年,澳大利亚程序员Gavin King
,数据系统素人,因为嫌弃EJB Entity Bean 1.1
的架构复杂,自行开发了一个对象关系映射框架Hibernate
。值得一提的是,此前他从未用SQL
开发过任何系统。为了开发Hibernate
,他临时去书店买了一个SQL
基础的书。现在Hibernate
已经成为最流行的对象关系影射(ORM
)工具。

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
。
本书后面的叙述,都是基于这个思路铺开。
详细内容请戳这里↓↓↓
原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA
这一节就讲到这里,下一节我们讲"JPA vs MyBatis"。
如果觉得有收获,点个【赞】鼓励一下呗!

版权声明: 本文为 InfoQ 作者【编程道与术】的原创文章。
原文链接:【http://xie.infoq.cn/article/cb2bedfcebcb057386b3ee4ed】。文章转载请联系作者。
评论