论坛首页 Java企业应用论坛

求教:如何管理数据库的连接?交给Hibernate,还是用App ser...

浏览 3582 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-02-13  
环境:Resin,Oracle,Hibernate
最近有一个项目用到了Hibernate,由于有一些 many-to-may关系的对象,并且 lazy="false";这样导致了每次load这些对象会产生很多条sql ,运行一段时间后就会出现oracle 的 max session 错误。
后来考虑用resin的connection pool,发现还不如不用,连续执行一些操作之后,数据库就不反应了,程序就在哪里等待着...

麻烦各位高手指点一二!
   发表时间:2004-02-13  
lazy为何要设成false? many to many的情况下,应该讲lazy设为true,这样就不会在你不需要载入相关联类时而自动载入,减少了内存的消耗和数据库的读取数量
0 请登录后投票
   发表时间:2004-02-13  
假设有两个对象A 和B 是many to many; 如果要在web层直接通过对象A 取到 对象B : A.getB(); 如果用lazy = true 就得不到了。但是用false又很牺牲
性能。
0 请登录后投票
   发表时间:2004-02-13  
你为何非要在web层才得到呢?如果有逻辑的判断是否要get相联系的类也应该在业务层完成。不过,anyway,如果要在web层得到,可以使用filter来在一个request最后关闭session,这样也是可以的。
0 请登录后投票
   发表时间:2004-02-13  
此外,数据库连接池应该使用服务器自带的。hibernate自带的连接池只能用来做做试验。
0 请登录后投票
   发表时间:2004-02-17  
我和楼主遇到一样的问题,总是提示unclose connection!过一会儿Oracle数据库就连接爆满了
0 请登录后投票
   发表时间:2004-02-24  
很容易就达到了oracle的最大连接数!好像用session.disconnect();session.close();不太管用!
要是用resin的连接池,也是永不了多久就回出现链接池满了的情况!

我该怎么版啊?
0 请登录后投票
   发表时间:2004-02-26  
please check your code on:
getSessionFactory(serviceName);.openSession();;
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics