首页 > 代码库 > Hibernate启动非常慢问题分析

Hibernate启动非常慢问题分析

<style></style>

  项目中使用hibernate3,在启动项目过程中,发现加载显示数据很慢,要多几分钟才显示出数据,没有报其他异常。今天特别慢,过了好久都不加载显示数据。

排查思路有以下几个方面:

1、数据库是否开启。检查发现已经开启。

2、是否缺少包。检查git修改记录,没有发现改动。

3tomcateclipse等是否配置正常。检查发现没有改动。


接下来就调试代码。

最开始是前端不抛任何错误,后来点击登录,发现抛出了前端ajax中自定义的错误(为了使错误更加明显,修改了错误提示信息)

技术分享

先调试前端代码,发现直接走到error了,就调试了isExist.do这个方法,发现是调用hibernate的公共类时,一直停在读取配置文件那里。

技术分享

在该处代码加上了trycatch,视图捕获异常,没有抓到异常。

但是过了一段时间,前端竟然显示了数据库中的数据。推断:加载配置文件很慢。

网上搜索了一下,发现有类似的情况:

技术分享
也就是说配置文件的dtd不对。

3.0的写法:http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd

再检查自己的配置文件,果然不对,按照文章的说明修改后,加载数据很快了。

再进一步找到了说明文档:

技术分享
根据定义,先在本地找,找不到则到网上找,网速很慢,则很久才获取到。

hibernate配置文件写法要和对应的版本一致,最好是直接看包中的文档,或者进官网看。

参考文章:

http://blog.csdn.net/xinmashang/article/details/25912373

https://www.oschina.net/question/135959_144269

Hibernate启动非常慢问题分析