org.hibernate.InvalidMappingException:

我有一个JSF+spring+hibernate的项目,之前运行都是正常的,今天断网的情况下重启tomcat,发现程序无法运行了。

主要报错是:

java.lang.ExceptionInInitializerError

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mySessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.hibernate.InvalidMappingException:

Could not parse mapping document from input stream

解决方案:

问题解决,是数据表的配置文件(*.hbm.xml)的头文件的错,原来的代码是:

<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD2.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

当我把hibernate升级到3.0后,这些数据表的配置文件没有改,所以联网的时候,项目会在

网络上查找3.0的dtd文件;而断网的时候,项目找不到相应的dtd文件,就会报错。

之前我只考虑了spring的配置文件(applicationContext.xml),而忽略了数据表的配置文件..

所以只要将上面代码中的2改成3就可以了..

断网..会发生错误.. 因为找不到3.0的dtd文件,. 不断网,机会查找3.0的dtd 文件.

相关推荐