Spring学习笔记:spring集成hibernate

来源:互联网 发布:刚进入金融行业 知乎 编辑:程序博客网 时间:2024/05/01 11:36

Spring集成hibernate有两种方式:1 完全使用hibernate编写dao层,把dao注入到spring由spring来管理生命周期,这种方式的好处是dao层与spring没有耦合关系;缺点是需要谨慎处理hibernate的session 关闭, exception, transaction. 2 使用spring的HibernateDaoSupport.这样的话dao层使用spring提供的一系列模板方法,同时不用关心session, exception,事务管理也交给了spring.第一种方式就不说了,基本无需改变dao层。只需要把dao注入就可以了,就学习一下第二种。首先需要注入一个sessionFactory.

LocalSessionFactoryBean利用配置文件生成sessionFactory的代理实例,这样可以更好的和spring的事务协调工作。sessionFactory还有spring风格的配置, 它需要注入一个dataSource. 见下面的配置文件。
dao继承自HibernateDaoSupport:

可以看出:所有hibernate的crud操作都封装在HibernateTemplate里面(HibernateDaoSupport持有一个HibernateTemplate),大大简化了hibernate的操作.
这样的话,dao持有一个hibernateTemplate, hibernateTemplate持有一个sessionFactory, 这样的话配置文件如下:

测试代码:

原创粉丝点击