博客
关于我
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
阅读量:796 次
发布时间:2023-02-26

本文共 1376 字,大约阅读时间需要 4 分钟。

Spring 提供了一个叫做 OpenSessionInViewFilter 的过滤器,这是一个标准的 Servlet Filter。为了使其正常工作,我们需要将它配置到 web.xml 文件中。使用 OpenSessionInViewFilter 时,我们需要配合使用 Spring 的 HibernateDaoSupport,从而确保我们的 DAO 层类继承于 HibernateDaoSupport。这样,Spring 会管理 Hibernate Session 的生命周期,即在请求开始时开启 Session,在请求结束时关闭 Session,保证了对持久层数据的稳定访问。

1. 在 web.xml 中配置 OpenSessionInViewFilter

在 web.xml 中添加 OpenSessionInViewFilter 的配置如下:

openSessionInViewFilter
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
singleSession
true

此外,我们可以指定 LocalSessionFactoryBean 的名称,默认值为 sessionFactory

sessionFactoryBean
sessionFactory

2. 使用 Spring 的 HibernateDaoSupport

在访问持久层数据时,我们需要使用 Spring 提供的 HibernateDaoSupport 并调用其方法操作数据。例如,DAO 类可以继承 HibernateDaoSupport 并实现自定义的数据访问逻辑:

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class XxxDAO extends HibernateDaoSupport {
public void save(Xxx transientInstance) {
try {
getHibernateTemplate().save(transientInstance);
} catch (RuntimeException re) {
throw re;
}
}
}

OpenSessionInViewFilter 的功能

OpenSessionInViewFilter 的主要作用是将一个 Hibernate Session 与一次完整的 HTTP 请求关联起来。它会在请求开始时绑定 Session 到当前线程,并在请求结束后自动关闭 Session。这样,在视图层可以方便地进行懒加载操作,例如 ${company.employees}

转载地址:http://kzvfk.baihongyu.com/

你可能感兴趣的文章
openlayers 入门教程(五):sources 篇
查看>>
openlayers 入门教程(八):Geoms 篇
查看>>
openlayers 入门教程(十五):与 canvas、echart,turf 等交互
查看>>
openlayers 入门教程(四):layers 篇
查看>>
Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
查看>>
Openlayers中使用Cluster实现缩放地图时图层聚合与取消聚合
查看>>
Openlayers中使用Image的rotation实现车辆定位导航带转角(判断车辆图片旋转角度)
查看>>
Openlayers中点击地图获取坐标并输出
查看>>
Openlayers中设置定时绘制和清理直线图层
查看>>
Openlayers图文版实战,vue项目从0到1做基础配置
查看>>
Openlayers实战:modifystart、modifyend互动示例
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenLDAP(2.4.3x)服务器搭建及配置说明
查看>>
OpenLDAP编译安装及配置
查看>>
OpenMCU(一):STM32F407 FreeRTOS移植
查看>>