Hibernate延迟加载的困惑

比如商品实体类和商品类别实体类 使用商品实体类在需要时加载商品类别 以至于很Session没有及时关闭而造成Data source rejected establishment of connection,  message from server: "Too many connections" 不知道我对以上问题有没理解错 求分享经验
ps.将商品实体类绑定到了JSP用到bean:write标签读取商品类别信息时才去数据库里查询信息么
困惑ing
问题补充

grandboy 写道

没有及时关闭,还是根本就没有关闭啊? 这可是完全不同的两个问题。如果根本没有关闭可以用OpenSessionInView来解决,如果已经正确配置了OpenSessionInView的话,可能只能在优化代码,增加连接数这些方面着手了。

还是根本就没有关闭
因为它的用一个类封装了一些Hibernate的方法 session.get(实体类名,实体类ID)这个方法就被封装了里面 调用一次该方法就session.close 当我延迟加载到商品类的类别就会有一场session已关闭 我没办法直接注掉了
后延迟加载多了就出现上面提到的连接太多 话说回来我要怎么关闭session

[quote="Coffee_Arthur"]比如商品实体类和商品类别实体类 使用商品实体类在需要时加载商品类别 以至于很Session没有及时关闭而造成Data source rejected establishment of connection, message from server: "Too many connections" 不知道我对以上问题有没理解错 求分享经验
ps.将商品实体类绑定到了JSP用到bean:write标签读取商品类别信息时才去数据库里查询信息么
困惑ing :x [/quote]

没有及时关闭,还是根本就没有关闭啊? 这可是完全不同的两个问题。如果根本没有关闭可以用OpenSessionInView来解决,如果已经正确配置了OpenSessionInView的话,可能只能在优化代码,增加连接数这些方面着手了。

spring 的OpenSessionInViewFilter可以解决楼主的困惑

[quote="grandboy"][quote="Coffee_Arthur"]比如商品实体类和商品类别实体类 使用商品实体类在需要时加载商品类别 以至于很Session没有及时关闭而造成Data source rejected establishment of connection, message from server: "Too many connections" 不知道我对以上问题有没理解错 求分享经验
ps.将商品实体类绑定到了JSP用到bean:write标签读取商品类别信息时才去数据库里查询信息么
困惑ing :x [/quote]

没有及时关闭,还是根本就没有关闭啊? 这可是完全不同的两个问题。如果根本没有关闭可以用OpenSessionInView来解决,如果已经正确配置了OpenSessionInView的话,可能只能在优化代码,增加连接数这些方面着手了。[/quote]

同意,没有及时关闭,还是根本就没有关闭,得先看看是哪个

这个问题值得关注
关闭了session就不好加载级联的部分
不关session就会出现楼主这样的问题

在没有hibernate的时候,光jdbc就一次性把主对象和级联对象需要封装的数据都查好了,然后整个返回。