Spring源码学习笔记---数据访问(二)

ORM主要解决方案:Hibernate,ibatis,JDO,JPA以及Oracle的TOPLink

----------HibernateTemplate类-----------
Session是Hibernate与关系数据库进行数据访问的关键。
HibernateTemplate类:统一对session的获取以及释放等管理逻辑进行封装,将session管理尽量保持在一处进行,而对于不同的数据访问需求,则提供了HibernateCallBack
回调接口,以便调用者可以根据各自的数据访问需求进行定制。

SessionFactoryUtils工具类:实现从HibernateException到Spring异常体系的转译。(convertHibernateAccessException的静态方法)


Hibernate的SessionFactory,是所有数据访问资源的发源地。
LocalSessionFactoryBean类:Spring中配置和获取SessionFactory最为常用的方式。(基于XML配置)
AnnotationSessionFactoryBean类(基于注解),以LocalSessionFactoryBean为基础。
通过JNDI获取SessionFactory(较少使用)

HibernateDaoSupport:提供数据访问DAO基类,子类继承使用。



Spring使用基于SqlMapSession的数据访问方式对ibatis进行集成。
SqlSessionTemplate:模板方法类,完成资源管理,事务管理以及异常处理。

    推荐阅读