Spring 对多个持久化框架都提供了支持,包括Hibernate、iBATIS、Java 数据对象(Java Data Objects,JDO)以及 Java 持久化 API(Java Persistence API,JPA)。与 Spring 对 JDBC 的支持那样,Spring 对 ORM 框架的支持提供了与这些框架的集成点以及一些附加的服务:
支持集成 Spring 声明式事务;
透明的异常处理;
线程安全的、轻量级的模板类;
DAO 支持类;
资源管理。
本章没有足够的篇幅介绍 Spring 支持的全部 ORM 框架。其实这并不会有什么问题,因为 Spring 对不同 ORM 解决方案的支持是很相似的。一旦掌握了 Spring 对某种 ORM 框架的支持后,你可以轻松地切换到另一个框架。
在本章中,我们将会看到 Spring 如何与最常用的两种 ORM 方案集成:Hibernate 和 JPA。同时还会通过 Spring Data JPA 了解一下 Spring Data 项目。借助这种方式,我们不仅可以学习到如何借助 Spring Data JPA 移除 JPA Repository 中的样板式代码,还能为下一章的如何将 Spring Data 用于无模式的存储打下基础。