OpenSessionInView详解-hibernate3

本文介绍了在Hibernate中使用load方法时可能遇到的问题,特别是在MVC架构下。当在模型层使用load方法加载数据后关闭session,试图在视图层访问数据时会引发异常。为解决此问题,可以采用OpenSessionInView技术,确保在视图层操作数据时session保持打开状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在hibernate中使用load方法时,并未把数据真正获取时就关闭了session,当我们真正想获取数据时会迫使load加载数据,而此时session已关闭,所以就会出现异常。 比较典型的是在MVC模式中,我们在M层调用持久层获取数据时(持久层用的是load方法加载数据),当这一调用结束时,session随之关闭,而我们希望在V层使用这些数据,这时才会迫使load加载数据,我们就希望这时的session是open着得,这就是所谓的Open Session In view 。

需要把下面代码加到配置文件

<filter>
    <filter-name>openSessionInViewFilter</filter-name>
   <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>
</filter>

 注意,这里是使用hibernate3版本

目前最新版本已经不用配置这信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值