少年阿宾

那些青春的岁月

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

在applicationContext.xml中有如下配置:

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory">
       <ref bean="sessionFactory"/>
    </property>
</bean>


也可以:
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
       <ref bean="sessionFactory"/>
    </property>
</bean>

两种实现方式其实没有区别,尤其是第二种不要自己去关闭session,session在事务结束后都会自动关闭。 但是一定要注意延迟加载的问题,当对象在session关闭前没有从数据库中取得,而jsp中需要展示对象时,会提示LazyInitializationException,你可以通过OpenSessionInViewFilter来保证延迟加载不会出现错误,即:
<filter>
     <filter-name>opensession</filter-name>
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
     <filter-name>opensession</filter-name>
     <url-pattern>*.do</url-pattern>
</filter-mapping>


posted on 2012-03-27 22:30 abin 阅读(996) 评论(0)  编辑  收藏 所属分类: hibernate

只有注册用户登录后才能发表评论。


网站导航: