关与hibernat 延迟加载错误的又一原因。。。failed to lazily initialize a collection of role no session or session was close

本文探讨了在使用Spring的opensessioninview方式管理hibernate session时,开启事务前后获取并调用pojo类的延迟加载方法导致的nosessionorsessionwasclose异常。分析原因在于事务操作可能对session进行了特殊处理。

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

failed to lazily initialize a collection of role failed to lazily initialize a collection of role

 

前几天项目又见此异常,之前以处理过无数次这问题了,但这次特别奇怪,我用的是spring的opensessioninview方式管理hibernate的session,在我报错的代码中我用的自已的opensessioninview类调试,,我的这个pojo类的确是在当时request产生的session中得到的,也是在这个session中调用延迟加载方法的,但是就是报no session or session was close ,经过我的调试后来发现了原因,原来在我的代码中有一段是有事务的,就是这个事务导至了这个错误,

总结如下:

       在一个session开启事务之前得到了个pojo类,在得到这个类后在session中开启了一个事务,事务结束后再调用这个pojo类的迟加载方法,就会报no session or session was close,我想大概是在开启事务时会对这个session中做一些特别的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值