Spring Data JPA从入门到精通
上QQ阅读APP看书,第一时间看更新

推荐序

Spring Data是一个伟大的项目,它为数据访问提供了一致、相对简单的编程模型,并且可用来操作几乎所有的主流存储。

Spring Data JPA是Spring Data的核心子项目之一。本书由浅入深,讲解了Spring Data JPA的常用功能与API,并结合实际工作中的场景,讲解如何扩展、如何避免踩坑等。

本书值得读者拥有。

《Spring Cloud与Docker微服务架构实战》作者 周立

随着微服务的流行,Spring Boot与Spring Cloud被广泛使用。Spring Data JPA简化了数据库的操作,本书作者从最简单的开始到复杂应用,娓娓道来,填补相关领域空白。

一号店CTO 韩军/Jason

Spring发展到现在已经是Java应用开发必备的基础设施了,而且遵循它一贯的风格,孵化出一系列优秀的解决方案,如Spring Boot、Spring Data、Spring Cloud等,每一个解决方案都完全遵循Spring的设计理念。

Spring Data JPA在开发企业级应用时有其独特的优势,能帮助开发人员快速进行各种数据库到Java模型的映射,帮我们进行快速的业务逻辑开发,而无须关心数据映射的一些细节。

我也曾经使用Spring Data JPA开发过一个JavaEE项目开发脚手架ES项目,使用Spring Data JPA能快速地帮助我完成项目DAO层的开发。强烈推荐大家在开发企业级应用时使用Spring Data,本书能让读者从入门到灵活运用,值得一读。

《亿级流量网站架构核心技术》作者 张开涛

《Spring Data JPA从入门到精通》一书以Spring Boot为基础,抛砖引玉,案例实驱,讲解了Spring Data的各种实战用法,加上对Spring Data核心源码分析,能够使读者快速驾驭Spring Data,为IT企业架构变革和发展快速赋能,产生商业价值。

Spring Cloud中国社区创始人 许进(xujin.org)

作为一个Java老程序员,2000年开始接触Java,2003年开始用Struts + MySQL做Java Web开发。刚开始的时候直接用JDBC访问数据库,影响比较深刻的是当时有大量的时间花在写SQL和处理结果集上。那个时候数据库设计是程序设计很重要的部分,一般都是先做数据库设计(例如用Power Designer做ER模型)再写程序。数据库设计除了表的设计之外,还会涉及视图、触发器和存储过程等。到了2004年,Hibernate 1.0横空出世,当时身边有个大神同学(尹俊,目前就职于美国Google)花了一个月时间通读文档和源码,给大家做了讲解,大家讨论之后决定将Hibernate引入项目中,吃一下螃蟹。从此我就开始和ORM打起了交道。

ORM最大的好处就是让程序员关注在业务本身以及对应OO(面向对象)程序设计,这个更加契合领域设计和OO设计,而不是一开始陷入数据库细节层面,影响总体设计。学过领域设计的同学都知道里面有关于Entity、Repository、Service等相关的概念,而JPA则很好地实现了这些概念。Spring Data JPA出现之后,则更加简化了我们访问数据库的方式。你只要花费1分钟,定义一个实体类(加上Entity注解)和扩展一个CrudRepository的接口,就可以具备对单表CRUD操作的基本功能。

在2016年的一个实际项目中,我们在Spring Data JPA的基础上实现了很多功能,例如字段自动加解密、字段JSON与POJO自动映射、历史表(审计功能)、自动设置创建时间/更新时间、乐观锁/悲观锁等,收获颇多。

虽然经常使用Spring Data JPA,但是基本上都是遇到问题现查文档,缺少一本提纲挈领、循序渐进、完整讲解Spring Data JPA的书。振华老弟虽年纪不大,却很爱钻研技术,算得上是Spring Data JPA的专家,并且他写的这本书正好满足了我以及广大Java程序员的需求,学习Spring Data JPA不再枯燥,同时非常翔实、完整地讲解了Spring Data JPA,并配合大量实例,兼具参考书和实战指南的作用,值得广大读者仔细研读。

DaoCloud首席架构师 王天青

Spring Data进一步简化了Java访问SQL和NoSQL数据源的复杂度。本书详细介绍了Spring Data JPA框架的知识,是一本很好的学习参考书籍。

MongoDB官方团队《MongoDB实战》第2版译者 徐雷

本书从浅入深,从原理剖析到经验结合,直观地把Spring Data JPA和周边功能展现给了读者。相信从Java初学者到经验老道的架构师阅读本书都能有所收获。

资深Java老兵 林晓辉