Hibernate4更新详解:与Spring3.1的配合及变化
"这篇文档主要介绍了Hibernate4在开发过程中的变化,包括与Spring3.1集成时的调整,以及 Hibernate4相较于Hibernate3的一些错误处理和配置更新。文档提到了Spring3.1不再支持HibernateTemplate,而Hibernate4自身的事务管理得到了增强。此外,还涉及了Hibernate4中的缓存设置变化和事务管理的统一方式。在处理JSP页面查询时,需要使用特定的过滤器以保持Session的开放。" 在Hibernate4中,开发人员可能会遇到与以往版本不同的问题。一个显著的变化是Spring3.1框架不再包含HibernateTemplate类,这是由于Hibernate4自身的事务管理机制已经足够强大,不再需要Spring的额外扩展。因此,开发者需要适应新的方式来获取和管理Session。在Hibernate4中,推荐使用`getCurrentSession()`来获取Session,并且在配置文件中设置`hibernate.current_session_context_class`为`org.springframework.orm.hibernate4.SpringSessionContext`,这与Hibernate3中的`thread`和`jta`有所不同。 在缓存配置方面,Hibernate4改用了EhCache作为默认的二级缓存提供者。配置时,需要将`hibernate.cache.provider_class`设为`net.sf.ehcache.hibernate.EhCacheProvider`,同时设置`hibernate.cache.region.factory_class`为`org.hibernate.cache.ehcache.EhCacheRegionFactory`,这与Hibernate3的缓存配置有所差异。 在Spring与Hibernate的事务管理整合上,无论使用注解还是XML配置,都应使用`HibernateTransactionManager`。例如,以下配置展示了如何创建一个`HibernateTransactionManager` bean,并将SessionFactory引用注入其中: ```xml <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory"><ref bean="sessionFactory"/></property> </bean> ``` 当使用`getCurrentSession()`获取Session时,事务会自动关闭,可能导致在JSP页面进行数据库查询时Session已关闭。为了解决这个问题,文档建议使用`org.springframework.orm.hibernate4.support.OpenSessionInViewFilter`过滤器。这个过滤器会在HTTP请求的生命周期内保持Session打开,确保在JSP页面上的查询可以正常执行。 最后,文档提到的一个问题是在执行分页查询时可能出现“ResultSet may only be accessed in a forward-only mode”错误。这通常是因为在遍历结果集时进行了不支持的滚动操作。解决此类问题通常需要正确配置和使用Hibernate的Criteria或Query API,确保在执行分页操作时遵循只向前滚动的结果集访问规则。 这份文档为开发者提供了关于Hibernate4与Spring3.1集成时需要注意的关键变化,帮助他们理解和解决可能出现的问题,以便更顺利地进行开发工作。
下载后可阅读完整内容,剩余5页未读,立即下载
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展