Spring ORM - 概述
Spring 框架与 Hibernate、Java 持久性 API (JPA)、Java 数据对象 (JDO) 和 iBATIS SQL Maps 等 ORM 框架集成良好。Spring 提供资源管理、数据访问对象 (DAO) 实现和事务策略。Spring 允许通过依赖管理配置 ORM 库功能。Spring 为其支持的所有 ORM 库维护统一的 DAO 异常层次结构和通用事务管理。
Spring IoC 容器有助于实现 ORM 配置并轻松部署。以下是使用 Spring 框架创建 ORM DAO 的主要优势。
易于测试 − 使用 spring IoC,可以轻松配置 ORM 实现。可以单独测试每个持久性单元。
常见数据访问异常 − Spring 将 ORM 工具异常包装为 DataAccessException 等常见运行时异常。此方法有助于在适当的层中处理大多数持久性异常(不可恢复)。无需处理 ORM 特定的样板捕获/抛出/异常声明。
常规资源管理 − Spring 应用程序上下文可轻松管理持久性对象及其配置。例如,Hibernate SessionFactory 实例、JPA EntityManagerFactory 实例、JDBC DataSource 实例、iBatis SQL Maps 配置对象和其他相关对象。Spring 自行处理本地和 JTA 事务管理。
集成事务管理 − Spring AOP 可用于使用声明式 AOP 样式拦截器包装 ORM 代码,方法是使用 @Transaction 注释或在 XML 配置文件中指定事务 AOP 建议。Spring 处理事务语义、异常处理、回滚等。 Spring 允许交换事务管理器而不影响 ORM 代码。