hibernate4与3使用annotation在配置文件中的区别

让hibernate4与3在配置文件中的区别有几点:

1、获取sessionfactory的方式:

在hibernate3中获取sessionfactory的方式:

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

 

在hibernate4中则是使用这种方式:

<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

 

2、事物的使用:

hibernate3:

<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">

hibernate4:

<bean id="txManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">

 

3、使用缓存机制:

hibernate3:

<prop key="hibernate.current_session_context_class">thread</prop>

hibernate4:

<prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>

 

4、

在hibernate3中可以使用hibernate自带的Dao组件,如:HibernateTemplete/HibernateDaoSupport等;

在hibernate4中这些有取消了,必须使用getCurrentSession()来获取Session;

 

5        

   getCurrentSession()事务会自动关闭,所以在有所jsp页面查询数据都会关闭session。要想在jsp查询数据库需要加入:   org.springframework.orm.hibernate4.support.OpenSessionInViewFilter过滤器。

 

6、

Hibernate分页出现 ResultSet may only be accessed in a forward direction 需要设置hibernate结果集滚动

   <prop key="jdbc.use_scrollable_resultset">false</prop>

 

7、在单独使用hibernate4的使用:获取工厂的方式变为:

ServiceRegistry resgistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();

SessionFactory  factory = config.buildSessionFactory(resgistry);

Session session = factory.openSession();

 

当然你也可以通过设置单例的工具类来简便过去方式,具体工具类你可以查阅hibernate4的参考文档;



http://www.cnblogs.com/yhiloon/archive/2014/04/10/3656218.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值