`
hnwangdan
  • 浏览: 21204 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

open session in view 的用法

阅读更多
第一种方式:Filter过滤器实现
<filter>
    <filter-name>openSessionInView</filter-name>
    <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
         <filter-mapping>
             <filter-name>openSessionInView</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>



第二种方式:在appliactionContext.xml中配置 不推荐

<!-- =========== OpenSession In View pattern ==============-->
    <bean id="openSessionInViewInterceptor"
          class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="interceptors" ref="openSessionInViewInterceptor"/>
        <property name="mappings">
            <props>
            ......
            </props>
        </property>
    </bean>


=====Spring+Hibernate中,  集合映射如果使用lazy="true", 当PO传到View层时, 出现未初始化session已关闭的错误,只能在dao先初始化 。所以此时就要用到
open sessin in view 过滤器了

  • 大小: 147.1 KB
分享到:
评论

相关推荐

    Open Session in View模式.PPT

    Open Session in View (OSIV) 模式是一种在基于Hibernate的Web应用程序中处理持久化数据的策略,它允许在视图层(例如JSP页面)中安全地访问延迟加载的对象,而无需担心Session已关闭的问题。以下是关于这个模式及其...

    hibernate中session的管理

    3. **Open Session in View (OSIV)**:在视图渲染阶段保持Session打开,以允许最后时刻的懒加载,但需要注意防止Session泄露。 总的来说,Hibernate中Session的管理是保证多线程环境下数据一致性的重要环节。...

    Spring延迟加载和声明式事务处理最终解决方案(修正版)

    Spring框架的延迟加载和声明式事务处理是两个关键特性,...通过合理地使用Open Session in View机制,可以解决延迟加载时Session关闭导致的问题,同时,声明式事务处理则简化了事务管理,提升了应用的效率和可扩展性。

    ssh中getCurrentSession的使用

    - 当配合Hibernate的Open Session In View (OSIV) 模式使用时,可以确保在整个HTTP请求过程中只有一个Session,便于进行事务管理。 3. **使用流程**: - 首先,需要配置Hibernate,让其知道如何初始化...

    集成spring的hibernate懒加载

    在Spring整合Hibernate的情况下,Session通常通过Transaction Management进行管理,比如使用`Open Session in View`(OSIV)模式或者基于注解的事务管理。 当你尝试在Controller层或者视图层访问懒加载的属性时,...

    open62541开发文档

    open62541是一个开源的C语言实现,用于实现OPC UA协议,即“OPC统一架构”。该协议为工业自动化和信息交换领域提供...对于实际开发而言,阅读完整官方文档是非常必要的,它可以帮助开发者全面掌握库的特性和使用方法。

    ssh_inte2模板常用方法&延迟加载问题

    可以考虑将事务范围扩大,或者使用开放Session视图模式(Open Session In View,OSIV),让Session贯穿整个HTTP请求,但请注意,OSIV模式可能导致更多的并发问题,需要谨慎使用。 3. **使用Eager Loading**:如果...

    UG Open API 二次开发

    1. **菜单脚本文件及语法**:理解MenuScript 文件的语法结构及其使用方法。 2. **系统环境设置**:了解如何设置环境以便正确解析MenuScript 文件。 3. **菜单脚本文件的语法**:掌握MenuScript 文件的基本语法,...

    JProfiler使用说明.pdf

    根据提供的文件信息,本文将详细介绍JProfiler的基本使用方法,包括如何通过Start Center创建或打开会话,以及如何管理和查看各种性能监测数据。 ### JProfiler 使用说明 #### 1. JProfiler 的 Start Center ####...

    基于PHP的开源PHP博客平台OpenBlog源码.zip

    13. **国际化与本地化**:考虑到全球用户,OpenBlog可能会支持多语言,使用PHP的gettext扩展或其他方法实现翻译。 综上所述,OpenBlog源码中涵盖了PHP Web开发的多个重要知识点,对于想要学习PHP开发或深入了解Web...

    hibernate笔记

    Open Session in View(OSIV)模式是一种常见的Hibernate优化模式,主要用于提高读取操作的性能。在这种模式下,Session在整个HTTP请求周期内保持打开状态。 ##### OSIV 实现方式 - **Servlet Filter 方式**:最常见...

    hello_xr_hpp:OpenXR“ hello_xr”示例的端口到OpenXR-Hpp绑定投影

    OpenXR的核心组件包括实例(Instance)、系统(System)、会话(Session)、视图配置(View Configuration)、交换图像(Swapchain)和动作(Action)。在C++中,这些都由对应的类表示,如`xr::Instance`, `xr::...

    spring-jpa-wicket-bootstrap:使用 Spring、JPA、Hibernate、Wicket 和 Bootstrap 的 J2EE Web 模板。 在 Tomcat 和 Postgres DB 上测试

    它演示了MvC 、 SoC 、 IoC 、 DAO 、 Service layer和Open Session in View模式以及其他 J2EE 最佳实践。 该模板可以轻松扩展为功能齐全的基于 Wicket 的 Web 应用程序。 用法 该模板使用 maven 并在 Tomcat7 上...

    hibernate的lazy策略forClass

    2. 使用Open Session In View模式,将Session的生命周期扩展到整个HTTP请求,但此方法可能带来事务管理和性能问题。 3. 在需要访问懒加载属性时,确保在Session内进行操作,或者使用`Hibernate.initialize()`手动...

    SSH常用面试题

    1. **模式介绍:**Open Session in View模式是一种使用Hibernate时的高级技术,它通过在每个HTTP请求开始时打开一个Session,在请求结束时关闭这个Session,从而实现了在视图层的懒加载。 2. **应用场景:**这种模式...

    JAVA面试题(下).pdf

    8. Hibernate的延迟加载机制允许只有在真正需要数据时才加载数据,但它与Session关闭存在矛盾,解决此矛盾的方法包括使用Open Session in View模式等。 9. MyBatis是一个持久层框架,它使用XML配置或注解来定义SQL...

    SSH错误集中分析.

    确保在需要的地方启用Open Session in View或者在查询时一次性加载关联数据。 2. **SQL异常**:错误的HQL或Criteria查询可能导致SQL语法错误,检查并修正查询语句。 四、Spring的常见错误 1. **AOP配置**:如果...

    struts-hibernate案例1

    在实际的Open Session In View(OSIV)模式中,Session通常在Controller(或Interceptor)层打开,贯穿整个请求过程,直到响应发送后关闭,这样可以确保在视图层也能访问到新鲜的数据,避免了延迟加载的问题。...

    Hibernate性能优化:一级缓存

    4. **使用Open Session in View(OSIV)模式**:在Web开发中,为每个HTTP请求开启一个新的会话,可以避免跨请求的一级缓存污染问题,但也要注意防止会话泄漏。 压缩包文件“hibernate_cache_level1”可能包含与一级...

    深入学习hibernate

    在后续章节中,文章涵盖了Hibernate的核心接口与类、标识符生成策略、对象生命周期管理、OSIV(Open Session In View)模式、泛型DAO模式、集合映射、组件映射、各种关联关系的映射(一对一、一对多、多对多)、...

Global site tag (gtag.js) - Google Analytics