hibernate3到底跟hibernate4有什么区别
展开全部
Spring3.1去掉了HibernateDaoSupport类。hibernate4需要通过getCurrentSession()获取session。并且设置
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
(在hibernate3的时候是thread和jta)。
缓存设置改为<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
Spring对hibernate的事务管理,不论是注解方式还是配置文件方式统一改为:
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" >
<property name="sessionFactory"><ref bean="sessionFactory"/>
</property>
</bean>
getCurrentSession()事务会自动关闭,所以在有所jsp页面查询数据都会关闭session。要想在jsp查询数据库需要加入:
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter过滤器。
Hibernate分页出现 ResultSet may only be accessed in a forward direction 需要设置hibernate结果集滚动
<prop key="jdbc.use_scrollable_resultset">false</prop>
【引自http://blog.csdn.net/iaiti/article/details/9336703】
<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
(在hibernate3的时候是thread和jta)。
缓存设置改为<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
Spring对hibernate的事务管理,不论是注解方式还是配置文件方式统一改为:
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" >
<property name="sessionFactory"><ref bean="sessionFactory"/>
</property>
</bean>
getCurrentSession()事务会自动关闭,所以在有所jsp页面查询数据都会关闭session。要想在jsp查询数据库需要加入:
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter过滤器。
Hibernate分页出现 ResultSet may only be accessed in a forward direction 需要设置hibernate结果集滚动
<prop key="jdbc.use_scrollable_resultset">false</prop>
【引自http://blog.csdn.net/iaiti/article/details/9336703】
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询