JAVA项目开发笔记(5)框架的融合部分:Hibernate和Spring

本文探讨了在使用Hibernate框架处理多对多关系时遇到的一个异常:org.hibernate.LazyInitializationException,并详细记录了问题排查过程及解决方案。最终发现是由于数据库中的text字段导致的异常,更改字段类型为varchar后问题得以解决。

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

could not initialize a collection

 

ResultSet can not re-read row data for column 1.

 

org.hibernate.LazyInitializationException: illegal access to loading collection

 

以上三个异常在我的项目中其实是一个错误引起的

最先是 org.hibernate.LazyInitializationException: illegal access to loading collection 这个异常被抛出

我在使用hibernate 的多对多关系时 从一面得到别一面好使但是反过来就出这个异常,网上查多数是就因为调用了set方法的hashcode方法引起。可是我的项目中无此方法。后来经过跟踪发现是由上面两个异常引起的此异常。在网上找了下发现原来是由于ms 的jdbc驱动引起的。因为我的数据库中有text类型的数据(http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html)改成varchar后问题解决。不过这个问题还是很怪。我直接用hsql查出来的包含text数据的pojo类没有问题,只是再用hibernate的延迟加载时才出现这个问题。。。。该死的ms浪费了我两天时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值