写点什么

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

发布于: 2020 年 09 月 29 日
原创 | 使用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"


如果觉得有收获,点个【赞】鼓励一下呗!



发布于: 2020 年 09 月 29 日阅读数: 102
用户头像

高级架构师,技术顾问,交流公号:编程道与术 2020.04.28 加入

杨宇于2020年创立编程道与术,致力于研究领域分析与建模、测试驱动开发、架构设计、自动化构建和持续集成、敏捷开发方法论、微服务、云计算等顶尖技术领域。 了解更多公众号:编程道与术

评论

发布
暂无评论
原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA