OpenSessionInViewFilter 的配置及作用
spring为我们解决hibernate的Session的关闭与开启问题。
Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行。如果 Service 层返回一个启用了延迟加载功能的领域对象给 Web 层,当 Web 层访问到那些需要延迟加载的数据时,由于加载领域对象的 Hibernate Session 已经关闭,这些导致延迟加载数据的访问异常
(eg: org.hibernate.LazyInitializationException:(LazyInitializationException.Java:42)
- failed to lazily initialize a collection of role: cn.easyjava.bean.product.ProductType.childtypes, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: cn.easyjava.bean.product.ProductType.childtypes, no session or session was closed)。
用来把一个Hibernate Session和一次完整的请求过程对应的线程相绑定。目的是为了实现"Open Session in View"的模式。例如: 它允许在事务提交之后延迟加载显示所需要的对象。
而Spring为我们提供的OpenSessionInViewFilter过滤器为我们很好的解决了这个问题。OpenSessionInViewFilter的主要功能是用来把一个Hibernate Session和一次完整的请求过程对应的线程相绑定。目的是为了实现"Open Session in View"的模式。例如: 它允许在事务提交之后延迟加载显示所需要的对象。
OpenSessionInViewFilter 过滤器将 Hibernate Session 绑定到请求线程中,它将自动被 Spring 的事务管理器探测到。所以 OpenSessionInViewFilter 适用于 Service 层使用HibernateTransactionManager 或 JtaTransactionManager 进行事务管理的环境,也可以用于非事务只读的数据操作中。
<filter>
<filter-name>Spring OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<!--
指定org.springframework.orm.hibernate3.LocalSessionFactoryBean在spring配置文件中的名称,默认值为sessionFactory
如果LocalSessionFactoryBean在spring中的名称不是sessionFactory,该参数一定要指定,否则会出现找不到sessionFactory的例外
-->
<param-name>sessionFactoryBean</param-name>
<param-value>sessionFactory</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
转载于:https://www.cnblogs.com/w1217/p/5491053.html
OpenSessionInViewFilter 的配置及作用相关推荐
- java环境变量设置的作用_JDK环境变量的配置及作用
从真正接触java到现在,差不多有一年时间了,配置JDK的环境变量也配置过无数次,但是对于这些配置的作用始终有点不太清楚,于是做了一些整理. 对于JDK要配置三个环境变量,分别是JAVA_HOME.p ...
- 关于host文件配置,hosts配置的作用,多个域名对应一个ip
关于host文件配置 host文件其实就是对ip地址的一个映射 普通例子就是大家众所周知的 :localhost域名对应的就是ip网址127.0.0.1 当你访问 127.0.0.1的时候,就会自动映 ...
- OpenSessionInViewFilter 对 lazy 加载 的配置及作用
2019独角兽企业重金招聘Python工程师标准>>> spring为我们解决hibernate的Session的关闭与开启问题. 问题: Hibernate 允许对关联对象.属性进 ...
- 【Android Gradle 插件】settings.gradle 配置文件 ( 配置基本作用 | include 函数用法 | 目录层级配置 | 修改 Module 模块构建脚本名称 )
文章目录 一.settings.gradle 配置 1.基本作用 2.include 函数用法 3.Module 目录层级配置 4.修改 Module 模块的 build.gradle 默认构建脚本名 ...
- JAVA安装作用_jdk安装配置及其作用
2.安装好了就是去配置路径了,我的是win7系统,步骤如下:桌面上的计算机右击->高级系统设置->环境变量->系统变量->新建 一共要新建三个变量JAVA_HOME,PATH和 ...
- OpenSessionInViewFilter 的配置
Spring 为我们提供了一个叫做 OpenSessionInViewFilter 的过滤器,他是标准的 Servlet Filter 所以我们把它按照规范配置到 web.xml 中方可使用.使用中我 ...
- STM32中BOOT模式配置的作用
学习了一段时间stm32单片机, 一直没有搞明白这个Boot 引脚的作用,经过找资料,才算搞明白boot设置, 所谓的启动, 就是我们在程序下载完成后, 重新启动芯片时, SYSCLK的第四个上升沿, ...
- 环境变量的配置及作用
设置环境变量的作用 作用:设置后可以在其他命令窗口中使用该软件的命令脚本: 注意:1 配置或删除环境变量后,执行命令脚本的客户端工具要关掉,重新打开,否则命令脚本不起作用: 2 如果不配置环境变量,那 ...
- pkg-config的安装配置及其作用
最近在安装OpenCV1.0的时候需要用到pkg-config. (一). 首先到网上下载pkgconfig,地址: http://download.chinaunix.net/downloa ...
最新文章
- 如何使用阿里云服务器
- java上传图片报404_ssm框架上传图片成功后跳转jsp页面显示却404访问不到图片
- 2017-2018-1 20155231 《信息安全系统设计基础》第6周学习总结
- antd + react model自定义footer_更骚的create-react-app开发环境配置craco
- 【转】简述TCP的三次握手过程
- Python对区间内回文素数的判断
- 实操|风控规则的监控与自动化策略生成
- CF1042D Petya and Array
- 电话系统服务器,局域网电话系统的两种解决方案——是否需要I
- Python 全栈开发二 python基础 字符串 字典 集合
- ORB_SLAM2之Pangolin的安装与问题处理
- java 字符串数组排序_Java 使用泛型为不同类型数组排序
- 阶乘很简单?恕我直言,阶乘相关的面试题你还真不一定懂!
- 临床大数据分析与挖掘
- LimeSDR官方系列教程(四):To Pothos and Beyond
- 计算机无法安装cad怎么办,AutoCAD2014安装失败显示某些产品无法安装怎么办
- RC微分积分电路 RC滤波电路 RC脉冲分压器 RC耦合电路 good
- R语言学习记录:主成分分析的R实现
- 【软件工程】02组软件工程组队项目15周工作进度汇报——课程管理小助手
- Apollo代码学习(二)—车辆运动学模型