hibernate性能问题

java.lang.NoSuchMethodError: com.test.People.getHibernateLazyInitializer()Lorg/hibernate/proxy/LazyInitializer;

最近系统在linux上跑着跑着就出现如下异常:

有两张实体表,
表A(a1 long,a2 long,a3 varchar1000)
表B(b1 long,b2 long,b3 text)
表B对表A是一对多的关系,
在hibernate中配置了many-to-one的关联关系。
在多线程的情况下,用延迟加载,出现异常
感觉这样做性能影响很大,因为在load表A对象的时候,
带有text字段的B也被load进来了。其实load表A对象,的目的
只是为了用其中的a2 long字段的内容,但是确要去把表A
和带有text字段的表B的内容全部load到内存中来。

在线程的情况下,由于多次调用,导致内存益溢出。

java.lang.NoSuchMethodError: com.test.People.getHibernateLazyInitializer()Lorg/hibernate/proxy/LazyInitializer;

之后就是很多java.lang.reflect.InvocationTargetException

页面上就是null point exception很奇怪
google了一下,找到以下错误:

今天手上碰到一个问题,windows2003跑的很好,但是linux下就不行了,错误是:
java.lang.NoSuchMethodError: com.wsyincai.services.common.hibernate.Cat.getHibernateLazyInitializer()Lorg/hibernate/proxy/LazyInitializer;

而开始一直很正常,页面访问也没问题, 依此判断是hibernate的一个问题,今天早上网上搜索了这个问题,发现这是Hibernate的一个BUG, 详细请看链接 http://opensource.atlassian.com/projects/hibernate/browse/HHH-1293

我测试的服务器用的是linux系统, 据说该问题在windows下不会出现. 公司有个网站用DLOG搭建的已经运行了很久没有任何问题.

根据Hibernate的BUG中网友的评论说, 使用server VM可以解决这个问题, 目前为止还没有测试是否属实.

不过这个问题在BUG库中记录的是去年年底提出的, 这么长时间了还没有得到hibernate的解决, 因为最新版是3.2 RC2同样存在相同的问题. 这让我对Hibernate有些些失望. 当然了,这也不完全是Hibernate的错, 问题出在于cglib这个库上.

然后登录hibernate bug论坛,http://opensource.atlassian.com/projects/hibernate/browse/HHH-1293
居然写下:
java.lang.NoSuchMethodError: .getHibernateLazyInitializer()

The exception varies with the actual persistent class in use. Most people seem to be using JDK 1.5 and Linux. Some reports say that the exception does not happen from the very start of the application, but it takes "several invocations"/"some time" until it appear, but then it appears very often.

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/106285/viewspace-877513/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/106285/viewspace-877513/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值