hibernate性能问题
java.lang.NoSuchMethodError: com.test.People.getHibernateLazyInitializer()Lorg/hibernate/proxy/LazyInitializer;
在成都网站设计、成都网站建设中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联建站专业成都网站建设十余年了,客户满意度97.8%,欢迎成都创新互联客户联系。
最近系统在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:
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@]本文名称:hibernate性能问题
文章路径:http://hbruida.cn/article/ggcpsc.html