OpenSessionInViewFilter 的解析

本文介绍了OpenSessionInViewFilter的功能,即延迟session关闭直至request结束,以防hibernate懒加载异常。探讨了其工作原理,包括单session模式及flush模式设置,并指出了可能存在的连接池资源占用问题。

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

OpenSessionInViewFilter的作用是延时session的关闭,直到request结束,这样做的目地是防止hibenrate lasy load出现异常的情况。如果isSingleSession设置成true,表示一个request的生命周期内,都使用一个session。false表示调用多少dao层的方法就用多少个session,但是这些session会延时到一个request结束时才关闭。

 

同时会默认设置flush mode(如果没有设置flushMode)为never的方式,也就是不会更新状态到数据库。当事务配置为required或者new等事务环境中,有数据需要更新到数据库时,会出现异常。

 

缺点在于:如果request时间很长,会造成session占用过长,会出现连接池连接不够的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值