`

OpenSessionInView模式运用

阅读更多

转自:http://kewb.iteye.com/blog/128726,自己常用第一种,留作随笔!

 

配置OpenSessionInView模式也很简单,Spring提供了两种方式:

1、过滤流Filter

<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
 
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
2、Interceptor

<!-- SimpleUrlHandlerMapping -->    
    
<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        
<property name="interceptors" ref="openSessionInViewInterceptor"/>        
        
<property name="mappings">
          
<props>       
             。。。               
          
</props>    
        
</property>
    
</bean>
    
    
<!-- =========== openSessionInViewInterceptor ==============-->
    
<bean id="openSessionInViewInterceptor"
          class
="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
        
<property name="sessionFactory" ref="sessionFactory"/>
    
</bean>

推荐用第二种方式
分享到:
评论

相关推荐

    Spring hibernate opensessioninview

    - `singleSession`:如果设置为`true`,则表明启用OpenSessionInView模式,即在请求处理期间始终维持一个打开的Session。如果设置为`false`,则不启用此模式。 - `&lt;url-pattern&gt;`:定义哪些URL路径将通过此过滤器...

    OpenSessionInView项目整合jar包

    标题"OpenSessionInView项目整合jar包"指的是包含实现OpenSessionInView模式所需的各种库文件的压缩包。这些jar包是完成项目整合的关键组成部分,它们可能包括以下内容: 1. **Spring框架**: Spring的核心库(如...

    Struts Spring Hibernate 整合 OpenSessionInView 例子

    为了练手培训,给大家准备的 Open Session In View 的简单例子,纯代码,大家可以参考,其中主要说了六部分内容: 1.通过接口编程 2.通过spring注入dao到 action 3.通过 open session in view filter 支持 延迟加载...

    Open_Session_In_View详解.doc

    这个问题通常是由于在`Open Session In View`模式下执行了写操作导致的。因为`Open Session In View`默认采用`FlushMode.NEVER`,这意味着Hibernate不会自动刷新session来同步数据库的变化。为了避免这个问题,可以...

    第30讲--Spring提供的CharacterEncoding和OpenSessionInView功能

    同时,需要注意的是,OpenSessionInView模式虽然方便,但也会带来潜在的问题,如事务边界不清晰和会话泄漏。因此,在实际应用中,应结合具体需求谨慎使用,并考虑使用更现代的解决方案,如Spring Data JPA的...

    SSH整合示例项目 hibernate5.2.3+struts2.5.2+spring4.3.3.zip

    - **二级缓存**:提高数据访问效率,OpenSessionInView模式下配合Spring实现 session级缓存。 **OpenSessionInView模式** OpenSessionInView模式是一种解决数据持久层和Web层之间事务管理的策略。在用户请求到达时...

    SSH项目整合示例【OpenSessionInView】所用到的jar包

    OpenSessionInView(OSIV)模式是SSH整合中常见的一种优化策略,它在用户的一次HTTP请求过程中保持Hibernate Session,避免了多次打开和关闭Session,减少了N+1查询问题,提高了性能。 **Spring** 是一个全面的企业...

    Spring提供的CharacterEncoding和OpenSessionInView功能

    SSH框架结合了Struts的MVC设计模式、Spring的依赖注入和事务管理以及Hibernate的持久化能力,为Java Web开发提供了强大的支持。然而,随着Spring Boot的兴起,SSH框架的使用逐渐减少,更多地转向了Spring Boot的开箱...

    spring中lazy=“true”的正常读取关联表(用opensessioninview)

    OSIV模式的核心思想是在Controller层和View层之间保持一个打开的Hibernate Session,这样即使在视图渲染过程中需要访问懒加载属性,也能确保Session是活跃的,从而避免上述异常。但是,OSIV并非无懈可击,过度依赖它...

    SSH整合 struts+hibernate+spring

    **OpenSessionInView模式**是一种常用的Hibernate优化模式,其主要目的是解决Hibernate的一级缓存问题。通过这种方式,可以确保在一个HTTP请求的生命周期内,Hibernate的Session始终处于打开状态,从而避免了因...

    HibernateSpring多数据库解决方案.doc

    本方案主要探讨如何在基于Hibernate和Spring框架的环境中实现多数据库的管理,特别是在`OpenSessionInView`模式下的配置。 首先,我们看到在`applicationContext.xml`配置文件中定义了两个数据源,一个用于读操作...

    Hibernate分页总结

    在使用Spring框架时,推荐采用OpenSessionInView模式,确保请求处理的整个过程中数据库会话保持打开。这样可以避免因事务过早关闭导致的懒加载问题,但需要注意不要在视图层进行大数据量的分页查询,以免内存溢出。 ...

    百度面试题

    - OpenSessionInView模式在Web请求处理过程中保持Hibernate Session打开,直到视图渲染完成,确保数据的一致性。但也可能导致长时间持有数据库连接,增加内存占用。合理控制Session的生命周期对性能至关重要。 10....

    SSH面试总结(非常全)

    Hibernate的缓存策略与openSessionInView模式** 缓存策略是Hibernate性能优化的关键,而`openSessionInView`模式则是在Web应用中实现一级缓存的有效手段。它通过在每个请求开始时打开一个`Session`,并在请求结束...

    hibernate 中的lazy属性祥解.txt

    为了避免这种情况,可以在访问关联对象前检查Session是否仍然打开,或者使用OpenSessionInView模式来管理Session的生命周期。 ### 结论 `lazy`属性是Hibernate框架中一个非常重要的特性,它通过延迟加载关联对象来...

    TSH练习例子

    FreeRoller和Atlassian Confluence等应用采用OpenSessionInView模式,尽管存在争议,但在某些场景下能有效提升效率。 ### Domain Logic与Use Case Logic 文档提到区分Domain Logic(领域逻辑)和Use Case Logic...

    搭建SSH框架总结.doc

    7. **配置OpenSessionInView模式**:在`web.xml`中配置`OpenSessionInViewFilter`,目的是解决在HTTP请求结束后才提交事务导致的懒加载问题。通过在视图渲染阶段保持数据库会话,可以确保所有延迟加载的数据都能正确...

    关于OpenSessionInViewFilter的学习

    OpenSessionInViewFilter是Spring框架中一个非常重要的组件,主要用于解决数据访问层(DAO)与视图层(View)之间的事务管理问题。...然而,当我们在服务层关闭了Session后,到视图层进行数据填充时,可能会遇到已关闭...

    java程序员ssh面试常见题

    - **知识点概述**:Lazy Loading是一种延迟加载策略,而OpenSessionInView模式则是在整个请求周期内保持Session打开的状态。 - **详细解释**: - **Lazy Loading**:当实体加载时,并不立即加载其关联的集合或属性...

    百度面试题汇总(java)

    9. **OpenSessionInView模式下的Transaction、数据库连接、HibernateSession管理**:该模式用于将一个持久化上下文的生命周期与HTTP请求绑定起来,简化事务管理。 10. **Error、CheckedException和Unchecked...

Global site tag (gtag.js) - Google Analytics