Spring 中的 O/R 映射支持详解
1. Spring 对 O/R 映射的支持概述
Spring 对特定 O/R 映射策略的支持主要涵盖两个方面:数据访问对象(DAO)的设计与实现,以及便捷的事务管理。总体而言,Spring 为持久化提供了一致的使用模型,包括通用的 DAO 设计与实现、Spring 上下文中的通用设置风格,以及通用的事务管理。其 O/R 映射支持基本遵循 JDBC 支持的设计,在保留底层工具全部功能的同时,尽可能提供概念上的共性。
2. 数据访问对象(DAO)
- 异常处理与接口设计
- Spring 的通用
DataAccessException
层次结构有助于设计与实现无关的 DAO 接口。所有 Spring 发行版附带的 O/R 映射集成类都遵循相同模式,允许在一致抛出DataAccessExceptions
的特定于应用程序的 DAO 接口之后使用。这样,调用者通常无需了解 DAO 使用的实现策略。 - 这些集成类尽可能提供复杂的异常转换,将 O/R 映射器异常转换为适当的
DataAccessException
子类,如DataIntegrityViolationException
或OptimisticLockingFailureException
,并通过 SpringSQLExceptionTranslator
转换底层SQLExcept
- Spring 的通用